Junior
У којим случајевима треба користити Set уместо Array?
sobes.tech АИ
Одговор од АИ
Set treba koristiti kada su sledeći aspekti važni:
- Unikatnost elemenata: Set po svojoj prirodi ne dozvoljava duplikate. Ako vam je potrebna kolekcija jedinstvenih vrednosti, Array će zahtevati dodatnu logiku za filtriranje.
- Visoka performansa operacija pripadnosti (provera prisutnosti): Provera da li Set sadrži određeni element ima prosečnu složenost O(1) (amortizovano), dok je za Array to O(n).
- Visoka performansa operacija umetanja i brisanja: Umetanje i brisanje elemenata po vrednosti u Set-u obično imaju blizu O(1) prosečnu složenost, dok za Array to može dostići O(n), posebno ako se ne vrši na kraju.
- Nema potrebe za očuvanjem reda elemenata: Set ne garantuje nikakav specifičan red elemenata. Ako je red važan, koristite Array.
Tipični scenariji korišćenja Set:
- Čuvanje skupa jedinstvenih identifikatora.
- Filtriranje duplikata iz kolekcije.
- Efikasno izvođenje operacija nad skupovima, kao što su unija, preseci i razlika.
- Brza provera prisutnosti elementa u kolekciji.
Primer dobijanja jedinstvenih elemenata iz niza pomoću Set:
let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - red nije garantovan