C# | Clase SortedList – Part 1

La clase SortedList es una colección de pares (clave, valor) que se ordenan según las claves. Se puede acceder a esos pares por clave y también por índice (indexación basada en cero). Esto viene bajo el espacio de nombres System.Collections .

Características de la clase SortedList:

  • Se puede acceder a un elemento SortedList por su clave o por su índice.
  • Un objeto SortedList mantiene internamente dos arrays para almacenar los elementos de la lista, es decir, una array para las claves y otra array para los valores asociados.
  • Una clave no puede ser nula, pero un valor sí puede serlo.
  • La capacidad de un objeto SortedList es la cantidad de elementos que SortedList puede contener.
  • Una SortedList no permite claves duplicadas.
  • Las operaciones en un objeto SortedList tienden a ser más lentas que las operaciones en un objeto Hashtable debido a la ordenación.
  • Se puede acceder a los elementos de esta colección mediante un índice entero. Los índices de esta colección están basados ​​en cero.

Constructores

Constructor Descripción
ListaOrdenada() Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial predeterminada y se ordena según la interfaz IComparable implementada por cada clave agregada al objeto SortedList.
ListaOrdenada(IComparer) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial predeterminada y se ordena según la interfaz IComparer especificada.
ListaOrdenada(IComparer, Int32) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial especificada y se ordena según la interfaz IComparer especificada.
ListaOrdenada(IDiccionario) Inicializa una nueva instancia de la clase SortedList que contiene elementos copiados del diccionario especificado, tiene la misma capacidad inicial que el número de elementos copiados y se ordena según la interfaz IComparable implementada por cada clave.
SortedList(IDictionary, IComparer) Inicializa una nueva instancia de la clase SortedList que contiene elementos copiados del diccionario especificado, tiene la misma capacidad inicial que el número de elementos copiados y se ordena según la interfaz IComparer especificada.
ListaOrdenada(Int32) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial especificada y se ordena según la interfaz IComparable implementada por cada clave agregada al objeto SortedList.

Ejemplo:

// C# Program to create a SortedList
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating object of SortedList
        // fslist is the SortedList object
        SortedList fslist = new SortedList();
  
        // Count property is used to get the
        // number of key/value pairs in fslist
        // It will give 0 as no pairs are present
        Console.WriteLine(fslist.Count);
    }
}

Producción:

0

Propiedades

Propiedad Descripción
Capacidad Obtiene o establece la capacidad de un objeto SortedList.
Contar Obtiene el número de elementos contenidos en un objeto SortedList.
EsTamañoFijo Obtiene un valor que indica si un objeto SortedList tiene un tamaño fijo.
es solo lectura Obtiene un valor que indica si un objeto SortedList es de solo lectura.
Está sincronizado Obtiene un valor que indica si el acceso a un objeto SortedList está sincronizado (seguro para subprocesos).
Artículo[Objeto] Obtiene y establece el valor asociado a una clave específica en un objeto SortedList.
Llaves Obtiene las claves en un objeto SortedList.
Valores Obtiene los valores de un objeto SortedList.

Ejemplo:

// C# Program to illustrate the
// properties of SortedList Class
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "one");
        mySortedList.Add("2", "two");
        mySortedList.Add("3", "three");
        mySortedList.Add("4", "four");
        mySortedList.Add("5", "five");
  
        // Checking if a SortedList
        // object has a fixed size
        Console.WriteLine(mySortedList.IsFixedSize);
  
        // Checking if the created
        // SortedList is read-only or not
        Console.WriteLine(mySortedList.IsReadOnly);
    }
}

Producción:

False
False

Métodos

Método Descripción
Añadir(Objeto, Objeto) Agrega un elemento con la clave y el valor especificados a un objeto SortedList.
Claro() Elimina todos los elementos de un objeto SortedList.
Clon() Crea una copia superficial de un objeto SortedList.
Contiene (Objeto) Determina si un objeto SortedList contiene una clave específica.
Contiene clave (objeto) Determina si un objeto SortedList contiene una clave específica.
ContieneValor(Objeto) Determina si un objeto SortedList contiene un valor específico.
Copiar a (array, Int32) Copia los elementos SortedList en un objeto Array unidimensional, comenzando en el índice especificado en la array.
Es igual a (Objeto) Determina si el objeto especificado es igual al objeto actual.
ObtenerPorÍndice(Int32) Obtiene el valor en el índice especificado de un objeto SortedList.
ObtenerEnumerador() Devuelve un objeto IDictionaryEnumerator que itera a través de un objeto SortedList.
Obtener código hash() Sirve como la función hash predeterminada.
ObtenerClave(Int32) Obtiene la clave en el índice especificado de un objeto SortedList.
ObtenerListaClave() Obtiene las claves en un objeto SortedList.
ObtenerTipo() Obtiene el Tipo de la instancia actual.
ObtenerListaDeValores() Obtiene los valores de un objeto SortedList.
IndexOfKey(Objeto) Devuelve el índice de base cero de la clave especificada en un objeto SortedList.
ÍndiceDeValor(Objeto) Devuelve el índice de base cero de la primera aparición del valor especificado en un objeto SortedList.
MemberwiseClone() Crea una copia superficial del objeto actual.
Eliminar (Objeto) Elimina el elemento con la clave especificada de un objeto SortedList.
Eliminar en (Int32) Elimina el elemento en el índice especificado de un objeto SortedList.
SetByIndex(Int32, Objeto) Reemplaza el valor en un índice específico en un objeto SortedList.
Sincronizado (Lista Ordenada) Devuelve un contenedor sincronizado (seguro para subprocesos) para un objeto SortedList.
Enstringr() Devuelve una string que representa el objeto actual.
RecortarAlTamaño() Establece la capacidad en el número real de elementos en un objeto SortedList.

Ejemplo 1:

// C# code to remove all
// elements from a SortedList
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "1st");
        mySortedList.Add("2", "2nd");
        mySortedList.Add("3", "3rd");
        mySortedList.Add("4", "4th");
        mySortedList.Add("5", "5th");
        mySortedList.Add("6", "6th");
        mySortedList.Add("7", "7th");
  
        // Displaying number of elements
        Console.WriteLine("Number of elements in SortedList is : "
                          + mySortedList.Count);
  
        // Displaying capacity
        Console.WriteLine("capacity of SortedList is : "
                          + mySortedList.Capacity);
  
        // Removing all elements from SortedList
        mySortedList.Clear();
  
        // Displaying number of elements
        Console.WriteLine("Number of elements in SortedList is : "
                          + mySortedList.Count);
  
        // Displaying capacity
        Console.WriteLine("capacity of SortedList is : "
                          + mySortedList.Capacity);
    }
}

Producción:

Number of elements in SortedList is : 7
capacity of SortedList is : 16
Number of elements in SortedList is : 0
capacity of SortedList is : 16

Ejemplo 2:

// C# code to check if a SortedList
// object contains a specific value
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "1st");
        mySortedList.Add("2", "2nd");
        mySortedList.Add("3", "3rd");
        mySortedList.Add("4", "4th");
  
        // Checking if a SortedList object
        // contains a specific value
        Console.WriteLine(mySortedList.ContainsValue(null));
    }
}

Producción:

False

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal 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 *