Junior
V akých prípadoch by ste mali použiť Set namiesto Array?
sobes.tech AI
Odpoveď od AI
Set by sa mal používať, keď sú dôležité nasledujúce aspekty:
- Unikátnosť prvkov: Set zo svojej podstaty neumožňuje duplicitné prvky. Ak potrebujete množinu unikátnych hodnôt, Array bude vyžadovať ďalšiu logiku na ich filtrovanie.
- Vysoký výkon operácií členstva (kontrola prítomnosti): Kontrola, či Set obsahuje určitý prvok, má priemernú zložitosť O(1) (amortizovanú), zatiaľ čo u Array je to O(n).
- Vysoký výkon operácií vkladania a mazania: Vkladanie a mazanie prvkov podľa hodnoty v Set má tiež zvyčajne priemernú zložitosť blízku O(1), zatiaľ čo u Array to môže dosiahnuť O(n), najmä ak sa nevykonáva na konci.
- Neexistuje potreba zachovávať poradie prvkov: Set nezaručuje žiadne konkrétne poradie prvkov. Ak je poradie dôležité, použite Array.
Typické scenáre použitia Set:
- Ukladanie množiny unikátnych identifikátorov.
- Filtrácia duplikátov z kolekcie.
- Efektívne vykonávanie operácií nad množinami, ako je zjednotenie, prienik a rozdiel.
- Rýchla kontrola prítomnosti prvku v kolekcii.
Príklad získania unikátnych prvkov z poľa pomocou Set:
let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - poradie nie je garantované