Compartir a través de


Tipos de las colecciones SortedList y SortedDictionary

Actualización: noviembre 2007

La clase System.Collections.SortedList, la clase genérica System.Collections.Generic.SortedList<TKey, TValue> y la clase genérica System.Collections.Generic.SortedDictionary<TKey, TValue> se parecen a la clase Hashtable y a la clase genérica Dictionary<TKey, TValue> en que implementan la interfaz IDictionary, pero mantienen sus elementos ordenados por clave y no disponen de las características de inserción y recuperación O(1) de las tablas hash. Estas tres clases tienen varias características en común:

En la siguiente tabla se muestran algunas de las diferencias que existen entre las dos clases de lista ordenada y la clase SortedDictionary<TKey, TValue>.

Clase SortedList no genérica y clase genérica SortedList<TKey, TValue>

Clase genérica SortedDictionary<TKey, TValue>

Las propiedades que devuelven claves y valores se indizan, lo que permite una recuperación indizada eficaz.

Sin recuperación indizada.

La recuperación es O(log n).

La recuperación es O(log n).

Normalmente, la inserción y la eliminación son O(n); sin embargo, la inserción es O(1) para los datos que ya están ordenados, de modo que cada elemento se agrega al final de la lista. (Esto significa que no se requiere un cambio de tamaño.)

La inserción y la eliminación son O(log n).

Utiliza menos memoria que SortedDictionary<TKey, TValue>.

Utiliza más memoria que la clase SortedList no genérica y que la clase genérica SortedList<TKey, TValue>.

Nota:

En el caso de los valores que contienen sus propias claves (por ejemplo, registros de empleados que contienen un número de identificación de empleado), puede crear una colección con clave que tenga algunas de las características de una lista y algunas de las características de un diccionario; para ello, tiene que realizar derivaciones de la clase genérica KeyedCollection<TKey, TItem>.

Vea también

Referencia

System.Collections.SortedList

System.Collections.Generic.SortedList<TKey, TValue>

System.Collections.IDictionary

System.Collections.Generic.IDictionary<TKey, TValue>

Otros recursos

Tipos de colección utilizados normalmente