Sobes.tech
Junior

Wann sollte man Set anstelle von Array verwenden?

sobes.tech KI

Antwort von AI

Set sollte in den folgenden Fällen verwendet werden:

  • Nur die Speicherung einzigartiger Elemente ist erforderlich. Set stellt automatisch sicher, dass jedes Element höchstens einmal in der Sammlung vorhanden ist.
  • Hohe Leistung bei der Überprüfung, ob ein Element vorhanden ist. Die Operation contains(_:) in Set hat im Durchschnitt eine amortisierte Komplexität von O(1), während sie in Array O(n) ist.
  • Die Reihenfolge der Elemente ist egal. Im Gegensatz zu Array garantiert Set keine bestimmte Reihenfolge bei der Enumeration seiner Elemente.
  • Häufige Operationen zum Hinzufügen, Entfernen und Überprüfen der Existenz sind erforderlich. Diese Operationen sind in Set in der Regel effizienter als in Array bei großen Sammlungen, wenn die Reihenfolge keine Rolle spielt und Einzigartigkeit erforderlich ist.

Beispielcode, der den Unterschied bei der Suche zeigt:

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

// Suche in Array - lineare Suche (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Suche in Set - Hashing (im Durchschnitt O(1))
let isPresentInSet = set.contains(element)