Sobes.tech
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