Sobes.tech
Junior

Када треба користити Set уместо Array?

sobes.tech АИ

Одговор од АИ

Set treba koristiti u sledećim slučajevima:

  • Potrebno je skladištenje samo jedinstvenih elemenata. Set automatski obezbeđuje da svaki element postoji u kolekciji najviše jednom.
  • Visoka efikasnost pri proveri da li element postoji. Operacija contains(_:) u Set ima prosečnu amortizovanu složenost O(1), dok je u Array O(n).
  • Redosled elemenata nije bitan. Za razliku od Array, Set ne garantuje određeni redosled enumeracije svojih elemenata.
  • Česte operacije dodavanja, brisanja i provere postojanja. Ove operacije u Set su obično efikasnije nego u Array za velike kolekcije, ako redosled nije važan i potrebna je jedinstvenost.

Primer koda koji prikazuje razliku u pretraživanju:

// Array
let array = [1, 2, 3, 4, 5]
let element = 5

// Pretraživanje u Array - linearno pretraživanje (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Pretraživanje u Set - hashiranje (prosečno O(1))
let isPresentInSet = set.contains(element)