Junior
Wanneer moet je Set gebruiken in plaats van Array?
sobes.tech AI
Antwoord van AI
Set moet worden gebruikt in de volgende gevallen:
- De behoefte om alleen unieke elementen op te slaan.
Setzorgt er automatisch voor dat elk element niet meer dan één keer in de collectie voorkomt. - Hoge prestaties bij het controleren of een element aanwezig is. De operatie
contains(_:)inSetheeft een gemiddelde geamortiseerde complexiteit van O(1), terwijl deze inArrayO(n) is. - De volgorde van de elementen is niet belangrijk. In tegenstelling tot
ArraygarandeertSetgeen specifieke volgorde bij het enumereren van zijn elementen. - Frequent toevoegen, verwijderen en controleren van aanwezigheid. Deze operaties zijn in
Setmeestal efficiënter dan inArrayvoor grote collecties, als de volgorde niet belangrijk is en uniciteit vereist is.
Voorbeeldcode die het verschil in zoeken aantoont:
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Zoeken in Array - lineair zoeken (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Zoeken in Set - hashing (gemiddeld O(1))
let isPresentInSet = set.contains(element)