Junior
V jakých případech byste měli použít Set místo Array?
sobes.tech AI
Odpověď od AI
Set by měl být použit, když jsou důležité následující aspekty:
- Unikátnost prvků: Set ze své podstaty neumožňuje duplicitní prvky. Pokud potřebujete množinu unikátních hodnot, Array bude vyžadovat další logiku pro jejich filtrování.
- Vysoký výkon operací zkoušky členství (kontrola přítomnosti): Kontrola, zda Set obsahuje určitý prvek, má průměrnou složitost O(1) (amortizovanou), zatímco u Array je to O(n).
- Vysoký výkon operací vkládání a mazání: Vkládání a mazání prvků podle hodnoty v Set má také obvykle průměrnou složitost blízkou O(1), zatímco u Array může dosáhnout O(n), pokud se neprovádí na konci.
- Nepotřebujete zachovávat pořadí prvků: Set nezaručuje žádné konkrétní pořadí prvků. Pokud je pořadí důležité, použijte Array.
Typické scénáře použití Set:
- Uložení množiny unikátních identifikátorů.
- Filtrace duplicit z kolekce.
- Efektivní provádění operací nad množinami, jako sjednocení, průnik a rozdíl.
- Rychlá kontrola přítomnosti prvku v kolekci.
Příklad získání unikátních prvků z pole pomocí Set:
let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - pořadí není garantováno