Freigeben über


SortedList-Auflistungstyp und SortedDictionary-Auflistungstyp

Aktualisiert: November 2007

Die System.Collections.SortedList-Klasse, die generische System.Collections.Generic.SortedList<TKey, TValue>-Klasse und die generische System.Collections.Generic.SortedDictionary<TKey, TValue>-Klasse sind insofern mit der Hashtable-Klasse und der generischen Dictionary<TKey, TValue>-Klasse vergleichbar, als sie die IDictionary-Schnittstelle implementieren, sie behalten jedoch ihre Elemente in der Sortierreihenfolge nach Schlüssel bei und verfügen nicht über die O(1)-Einfüge- und -Abrufmerkmale von Hashtabellen. Die drei Klassen verfügen über mehrere gemeinsame Features:

In der folgenden Tabelle sind einige Unterschiede zwischen den beiden SortedList-Klassen und der SortedDictionary<TKey, TValue>-Klasse aufgelistet.

Nicht generische SortedList-Klasse und generische SortedList<TKey, TValue>-Klasse

Generische SortedDictionary<TKey, TValue>-Klasse

Da die Eigenschaften zum Zurückgeben von Schlüsseln und Werten indiziert sind, ist ein effizienter indizierter Abruf möglich.

Kein indizierter Abruf.

O(log n)-Abruf.

O(log n)-Abruf.

Einfüge- und Abrufvorgänge erfolgen generell nach O(n); bei Daten, die sich bereits in der richtigen Sortierreihenfolge befinden, wird jedoch nach O(1) eingefügt, sodass jedes Element am Ende der Liste hinzugefügt wird. (Dabei wird davon ausgegangen, dass keine Größenanpassung erforderlich ist.)

O(log n)-Einfüge- und -Abrufvorgänge.

Benötigt weniger Arbeitsspeicher als SortedDictionary<TKey, TValue>.

Benötigt mehr Arbeitsspeicher als die nicht generische SortedList-Klasse und die generische SortedList<TKey, TValue>-Klasse.

Hinweis:

Bei Werten, die eigene Schlüssel enthalten (z. B. Mitarbeiterdatensätze mit einer Mitarbeiter-ID), können Sie durch Ableitung von der generischen KeyedCollection<TKey, TItem>-Klasse eine verschlüsselte Auflistung erstellen, die einige Merkmale einer Liste und einige Merkmale eines Wörterbuchs aufweist.

Siehe auch

Referenz

System.Collections.SortedList

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

System.Collections.IDictionary

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

Weitere Ressourcen

Häufig verwendete Auflistungstypen