Junior
Mikor kell Set-et használni Array helyett?
sobes.tech MI
Válasz az MI-től
A Set-et a következő esetekben kell használni:
- Csak egyedi elemek tárolására van szükség. A
Setautomatikusan biztosítja, hogy minden elem legfeljebb egyszer szerepeljen a gyűjteményben. - Magas teljesítmény az elem létezésének ellenőrzésében. A
contains(_:)művelet aSet-ben átlagosan O(1) komplexitású, míg azArray-ben O(n). - Az elemek sorrendje nem számít. A
Setnem garantálja az elemek meghatározott sorrendjét az enumeráció során. - Gyakori hozzáadás, törlés és létezés ellenőrzése. Ezek a műveletek a
Set-ben általában hatékonyabbak, mint azArray-ben nagy gyűjtemények esetén, ha nem számít a sorrend és szükség van az egyediségre.
A keresés különbségét bemutató kód példa:
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Keresés Array-ben - lineáris keresés (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Keresés Set-ben - hashelés (átlagosan O(1))
let isPresentInSet = set.contains(element)