Junior
Када треба користити Set уместо Array?
sobes.tech АИ
Одговор од АИ
Set treba koristiti u sledećim slučajevima:
- Potrebno je skladištenje samo jedinstvenih elemenata.
Setautomatski obezbeđuje da svaki element postoji u kolekciji najviše jednom. - Visoka efikasnost pri proveri da li element postoji. Operacija
contains(_:)uSetima prosečnu amortizovanu složenost O(1), dok je uArrayO(n). - Redosled elemenata nije bitan. Za razliku od
Array,Setne garantuje određeni redosled enumeracije svojih elemenata. - Česte operacije dodavanja, brisanja i provere postojanja. Ove operacije u
Setsu obično efikasnije nego uArrayza 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)