C # - Clase SortedList

La clase SortedList representa una colección de pares clave-valor que están ordenados por claves y son accesibles por clave y por índice.

Una lista ordenada es una combinación de una matriz y una tabla hash. Contiene una lista de elementos a los que se puede acceder mediante una clave o un índice. Si accede a elementos mediante un índice, es una ArrayList, y si accede a elementos mediante una clave, es una Hashtable. La colección de elementos siempre se ordena por el valor de la clave.

Métodos y propiedades de la clase SortedList

La siguiente tabla enumera algunos de los properties del SortedList clase -

No Señor. Descripción de propiedad
1

Capacity

Obtiene o establece la capacidad de SortedList.

2

Count

Obtiene el número de elementos contenidos en SortedList.

3

IsFixedSize

Obtiene un valor que indica si SortedList tiene un tamaño fijo.

4

IsReadOnly

Obtiene un valor que indica si SortedList es de solo lectura.

5

Item

Obtiene y establece el valor asociado con una clave específica en SortedList.

6

Keys

Obtiene las claves de SortedList.

7

Values

Obtiene los valores de SortedList.

La siguiente tabla enumera algunos de los methods del SortedList clase -

No Señor. Método y descripción
1

public virtual void Add(object key, object value);

Agrega un elemento con la clave y el valor especificados en SortedList.

2

public virtual void Clear();

Elimina todos los elementos de SortedList.

3

public virtual bool ContainsKey(object key);

Determina si SortedList contiene una clave específica.

4

public virtual bool ContainsValue(object value);

Determina si SortedList contiene un valor específico.

5

public virtual object GetByIndex(int index);

Obtiene el valor en el índice especificado de SortedList.

6

public virtual object GetKey(int index);

Obtiene la clave en el índice especificado de SortedList.

7

public virtual IList GetKeyList();

Obtiene las claves de SortedList.

8

public virtual IList GetValueList();

Obtiene los valores de SortedList.

9

public virtual int IndexOfKey(object key);

Devuelve el índice de base cero de la clave especificada en SortedList.

10

public virtual int IndexOfValue(object value);

Devuelve el índice de base cero de la primera aparición del valor especificado en SortedList.

11

public virtual void Remove(object key);

Elimina el elemento con la clave especificada de SortedList.

12

public virtual void RemoveAt(int index);

Elimina el elemento en el índice especificado de SortedList.

13

public virtual void TrimToSize();

Establece la capacidad en el número real de elementos en SortedList.

Ejemplo

El siguiente ejemplo demuestra el concepto:

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         SortedList sl = new SortedList();
         
         sl.Add("001", "Zara Ali");
         sl.Add("002", "Abida Rehman");
         sl.Add("003", "Joe Holzner");
         sl.Add("004", "Mausam Benazir Nur");
         sl.Add("005", "M. Amlan");
         sl.Add("006", "M. Arif");
         sl.Add("007", "Ritesh Saikia");
         
         if (sl.ContainsValue("Nuha Ali")) {
            Console.WriteLine("This student name is already in the list");
         } else {
            sl.Add("008", "Nuha Ali");
         }

         // get a collection of the keys. 
         ICollection key = sl.Keys;

         foreach (string k in key) {
            Console.WriteLine(k + ": " + sl[k]);
         }
      }
   }
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Banazir Nur
005: M. Amlan 
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali