Megosztás a következőn keresztül:


Rendezett gyűjteménytípusok

Az System.Collections.SortedList osztály, az System.Collections.Generic.SortedList<TKey,TValue> általános osztály és az System.Collections.Generic.SortedDictionary<TKey,TValue> általános osztály hasonló ahhoz az Hashtable osztályhoz és az Dictionary<TKey,TValue> általános osztályhoz, amelyben implementálják az IDictionary interfészt, de az elemeket kulcs szerint rendezési sorrendben tartják fenn, és nem rendelkeznek a kivonattáblák O(1) beszúrási és lekérési jellemzőivel. A három osztálynak számos közös funkciója van:

Az alábbi táblázat felsorol néhány különbséget a két rendezett listaosztály és az SortedDictionary<TKey,TValue> osztály között.

SortedList nemgenerikus osztály és SortedList<TKey,TValue> általános osztály SortedDictionary<TKey,TValue> általános osztály
A kulcsokat és értékeket visszaadó tulajdonságok indexelve vannak, így hatékony indexelt lekérést tesz lehetővé. Nincs indexelt lekérés.
A beolvasás O(log n). A beolvasás O(log n).
A beszúrás és az eltávolítás általában O(n); a beszúrás azonban O(log n) az olyan adatok esetében, amelyek már rendezési sorrendben vannak, így minden elem hozzá lesz adva a lista végéhez. (Ez azt feltételezi, hogy nincs szükség átméretezésre.) A beszúrás és az eltávolítás az O(log n) függvény.
Kevesebb memóriát használ, mint egy SortedDictionary<TKey,TValue>. Több memóriát használ, mint a SortedList nemgenerikus osztály és az SortedList<TKey,TValue> általános osztály.

Több szálból egyidejűleg elérhető rendezett listák vagy szótárak esetén rendezési logikát adhat hozzá egy olyan osztályhoz, amelyből ConcurrentDictionary<TKey,TValue>származik. A megváltoztathatatlanság vizsgálatakor a következő, nem módosítható típusok hasonló rendezési szemantikát követnek: ImmutableSortedSet<T> és ImmutableSortedDictionary<TKey,TValue>.

Feljegyzés

A saját kulcsokat tartalmazó értékek (például az alkalmazottak azonosítószámát tartalmazó alkalmazottak rekordjai) esetében létrehozhat egy kulcsos gyűjteményt, amely a lista néhány jellemzőjét és a szótár néhány jellemzőjét tartalmazza az KeyedCollection<TKey,TItem> általános osztályból származtatva.

A .NET-keretrendszer 4-től kezdve az SortedSet<T> osztály egy önegyensúlyozó fát biztosít, amely rendezve tartja az adatokat a beszúrások, törlések és keresések után. Ez az osztály és az HashSet<T> osztály implementálja az interfészt ISet<T> .

Lásd még