SortedSet en C# con ejemplos

En C#, SortedSet es una colección de objetos ordenados. Es de la colección de tipo genérico y se define en el espacio de nombres System.Collections.Generic . También proporciona muchas operaciones matemáticas con conjuntos, como intersección, unión y diferencia. Es una colección dinámica, lo que significa que el tamaño de SortedSet aumenta automáticamente cuando se agregan nuevos elementos. 
Puntos importantes:
 

  • La clase SortedSet implementa las interfaces ICollection , IEnumerable , IReadOnlyCollection , ISet , ICollection , IEnumerable , IDeserializationCallback e ISerializable .
  • La capacidad de un SortedSet es el número de elementos que puede contener.
  • En SortedSet, los elementos deben ser únicos.
  • En SortedSet, el orden del elemento es ascendente.
  • Generalmente se usa cuando queremos usar la clase SortedSet si tiene que almacenar elementos únicos y mantener un orden ascendente.
  • En SortedSet, el usuario solo puede almacenar el mismo tipo de elementos.

¿Cómo crear un SortedSet?

La clase SortedSet proporciona 5 tipos diferentes de constructores que se usan para crear un SortedSet, aquí solo usamos SortedSet() , constructor. Para leer más sobre los constructores de SortedSet, puede consultar C# | Clase de conjunto ordenado .
SortedSet(): Se utiliza para crear una instancia de la clase SortedSet.
Paso 1: incluya el espacio de nombres System.Collections.Generic en su programa con la ayuda de la palabra clave:
 

usando System.Collections.Generic;

Paso 2: Cree un SortedSet usando la clase SortedSet como se muestra a continuación:
 

SortedSet<type_of_sortedset> sortedset_name = new SortedSet<type_of_sortedset>();

Paso 3: si desea agregar elementos en su SortedSet, use el método Add() para agregar elementos en el SortedSet. Y también puede almacenar elementos en su SortedSet usando el inicializador de colección.
Paso 4: se accede a los elementos de SortedSet mediante un bucle foreach. Como se muestra en el siguiente ejemplo.
Ejemplo:
 

CSharp

// C# program to illustrate how to
// create SortedSet
using System;
using System.Collections.Generic;
 
class GFG {
 
    // Driver Class
    static public void Main()
    {
 
        // Creating SortedSet
        // Using SortedSet class
        SortedSet<int> my_Set1 = new SortedSet<int>();
 
        // Add the elements in SortedSet
        // Using Add method
        my_Set1.Add(101);
        my_Set1.Add(1001);
        my_Set1.Add(10001);
        my_Set1.Add(100001);
        Console.WriteLine("Elements of my_Set1:");
 
        // Accessing elements of SortedSet
        // Using foreach loop
        foreach(var val in my_Set1)
        {
            Console.WriteLine(val);
        }
 
        // Creating another SortedSet
        // using collection initializer
        // to initialize SortedSet
        SortedSet<int> my_Set2 = new SortedSet<int>() {
                                202,2002,20002,200002};
                 
        // Display elements of my_Set2
        Console.WriteLine("Elements of my_Set2:");
        foreach(var value in my_Set2)
        {
            Console.WriteLine(value);
        }
    }
}
Producción: 

Elements of my_Set1:
101
1001
10001
100001
Elements of my_Set2:
202
2002
20002
200002

 

¿Cómo eliminar elementos del SortedSet?

En SortedSet, puede eliminar elementos del SortedSet. La clase SortedSet<T> proporciona tres métodos diferentes para eliminar elementos y los métodos son:
 

  • Eliminar (T) : este método se utiliza para eliminar un elemento específico del SortedSet.
  • RemoveWhere(Predicate): este método se usa para eliminar todos los elementos que coinciden con las condiciones definidas por el predicado especificado de un SortedSet.
  • Clear() : este método se utiliza para eliminar todos los elementos del conjunto.

Ejemplo:
 

CSharp

// C# program to illustrate how to
// remove elements from SortedSet
using System;
using System.Collections.Generic;
 
class GFG {
 
    // Main Method
    static public void Main()
    {
 
        // Creating SortedSet
        // Using SortedSet class
        SortedSet<int> my_Set = new SortedSet<int>();
 
        // Add the elements in SortedSet
        // Using Add method
        my_Set.Add(101);
        my_Set.Add(1001);
        my_Set.Add(10001);
        my_Set.Add(100001);
 
        // After using Remove method
        Console.WriteLine("Total number of elements "+
               "present in my_Set:{0}", my_Set.Count);
 
        // Remove element from SortedSet
        // Using Remove method
        my_Set.Remove(1001);
 
        // Before using Remove method
        Console.WriteLine("Total number of elements "+
               "present in my_Set:{0}", my_Set.Count);
 
        // Remove all elements from SortedSet
        // Using Clear method
        my_Set.Clear();
        Console.WriteLine("Total number of elements "+
               "present in my_Set:{0}", my_Set.Count);
    }
}
Producción: 

Total number of elements present in my_Set:4
Total number of elements present in my_Set:3
Total number of elements present in my_Set:0

 

¿Cómo verificar la disponibilidad de elementos en SortedSet?

En SortedSet, puede verificar si el elemento dado está presente o no usando el método Contiene . Este método se utiliza para determinar si el conjunto contiene un elemento específico.
Ejemplo:
 

CSharp

// C# program to illustrate how to check
// availability of elements in SortedSet
using System;
using System.Collections.Generic;
 
public class GFG {
    static public void Main()
    {
 
        // Creating SortedSet
        // Using SortedSet class
        SortedSet<int> my_Set = new SortedSet<int>();
 
        // Add the elements in SortedSet
        // Using Add method
        my_Set.Add(101);
        my_Set.Add(1001);
        my_Set.Add(10001);
        my_Set.Add(100001);
 
        // Check the given element present
        // in the SortedSet or not
        // Using Contains method
        if (my_Set.Contains(101) == true)
        {
            Console.WriteLine("Element is available..!");
        }
 
        else
        {
            Console.WriteLine("Element is not available..!");
        }
    }
}
Producción: 

Element is available..!

 

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *