Sdílet prostřednictvím


Typ kolekce HashSet

Třída HashSet<T> je množinová kolekce, která implementuje rozhraní ICollection a obecné rozhraní ICollection<T>.

Počínaje .NET Framework verze 4 třída HashSet<T> implementuje třídu ISet<T> Třída.

Množinové kolekce

Množina v matematice je sadou odlišných objektů, která je obvykle definováno pravidlem určujícím, zda je prvek členem určité množiny. Například může být množina definován tak, aby obsahovala "všechna lichá čísla mezi 1 a 21" nebo čísla "1, 3, 5 a 7".

Třída HashSet

Třída HashSet<T> je založena na modelu matematických množin a poskytuje vysoce výkonné množinové operace podobné tmě pro přístup ke klíči kolekcí Dictionary<TKey, TValue> nebo Hashtable. Jednoduše řečeno si lze třídu HashSet<T> představit jako kolekci Dictionary<TKey, TValue> bez hodnot.

Kolekce HashSet<T> není seřazena a nemůže obsahovat duplicitní prvky. Jestliže je pro aplikaci důležitější pořadí nebo duplicita prvků než výkon, zvažte použití třídy List<T> spolu s metodou Sort.

HashSet<T> poskytuje mnoho matematických množinových operací, jako je sčítání množin (sjednocení) a odčítání množin. V následující tabulce jsou uvedeny poskytované operace HashSet<T> a jejich matematické ekvivalenty.

Operace nad třídou HashSet (typu T)

Matematický ekvivalent

UnionWith

Sjednocení nebo sčítání množin

IntersectWith

Průnik

ExceptWith

Odčítání množin

SymmetricExceptWith

Negace ekvivalence

Kromě uvedených množinových operací třída HashSet<T> také poskytuje metody pro stanovení rovnosti množin, překrytí množin a zda je daná množina podmnožinou nebo nadmnožinou jiné množiny.

Viz také

Odkaz

SortedSet<T>

ISet<T>

HashSet<T>

Koncepty

Běžně používané typy kolekce

Operace nastavení HashSet a LINQ