Partager via


Types collection SortedList et SortedDictionary

Mise à jour : novembre 2007

La classe System.Collections.SortedList, la classe générique System.Collections.Generic.SortedList<TKey, TValue> et la classe générique System.Collections.Generic.SortedDictionary<TKey, TValue> sont semblables à la classe Hashtable et à la classe générique Dictionary<TKey, TValue> car elles implémentent l'interface IDictionary, mais elles conservent leurs éléments dans l'ordre de tri par clé et ne possèdent pas les caractéristiques d'insertion et d'extraction O(1) des tables de hachage. Les trois classes possèdent plusieurs fonctionnalités en commun :

Le tableau suivant répertorie certaines des différences entre les deux classes de liste triée et la classe SortedDictionary<TKey, TValue>.

Classe non générique SortedList et classe générique SortedList<TKey, TValue>

Classe générique SortedDictionary<TKey, TValue>

Les propriétés qui retournent des clés et des valeurs sont indexées, entraînant ainsi une extraction indexée efficace.

Aucune extraction indexée.

L'extraction correspond à O(log n).

L'extraction correspond à O(log n).

L'insertion et la suppression correspondent généralement à O(n) ; toutefois, l'insertion correspond à O(1) pour les données qui sont déjà dans l'ordre de tri, afin que chaque élément soit ajouté à la fin de la liste. (Cela suppose qu'il n'est pas nécessaire d'effectuer un redimensionnement.)

L'insertion et la suppression correspondent à O (log n).

Requiert moins de mémoire qu'un SortedDictionary<TKey, TValue>.

Requiert plus de mémoire que la classe non générique SortedList et la classe générique SortedList<TKey, TValue>.

Remarque :

Pour les valeurs qui contiennent leurs propres clés (par exemple, les enregistrements d'employé qui contiennent un numéro d'ID de l'employé), vous pouvez créer une collection à clé qui possède certaines caractéristiques d'une liste et certaines caractéristiques d'un dictionnaire, en dérivant de la classe générique KeyedCollection<TKey, TItem>.

Voir aussi

Référence

System.Collections.SortedList

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

System.Collections.IDictionary

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

Autres ressources

Types de collections couramment utilisés