Junior — Middle
V čem se liší datové struktury Dictionary a HashSet z hlediska jejich použití a vnitřního uspořádání?
sobes.tech AI
Odpověď od AI
Dictionary a HashSet jsou datové struktury v C#, založené na hash tabulkách, ale s různými cíli a uspořádáním:
-
Dictionary<TKey, TValue> je kolekce párů klíč-hodnota. Umožňuje rychle najít hodnotu podle unikátního klíče. Interně používá hashování klíčů pro rychlý přístup.
-
HashSet<T> je kolekce unikátních prvků bez párů klíč-hodnota. Používá se k ukládání množiny unikátních objektů a pro rychlé vyhledávání, přidávání nebo odstraňování prvků.
Hlavní rozdíly:
- Dictionary ukládá páry, HashSet pouze klíče (prvky).
- Dictionary umožňuje získat hodnotu podle klíče, HashSet kontroluje, zda prvek existuje.
Příklad:
var dict = new Dictionary<int, string>();
dict[1] = "jedna";
var set = new HashSet<int>();
set.Add(1);
bool hasKey = dict.ContainsKey(1); // true
bool hasElement = set.Contains(1); // true
Proto vybírejte Dictionary, když potřebujete přiřadit klíč ke hodnotě, a HashSet, když je důležitá unikátnost a rychlé vyhledávání prvků.