Sobes.tech
Junior

In welchen Fällen sollte man Set anstelle von Array verwenden?

sobes.tech KI

Antwort von AI

Ein Set sollte verwendet werden, wenn die folgenden Aspekte wichtig sind:

  • Einzigartigkeit der Elemente: Ein Set erlaubt per Natur keine doppelten Elemente. Wenn Sie eine Sammlung einzigartiger Werte benötigen, erfordert ein Array zusätzliche Logik zur Filterung.
  • Hohe Leistung bei Zugehörigkeitsprüfungen (Vorhandensein prüfen): Die Überprüfung, ob ein Set ein bestimmtes Element enthält, hat eine durchschnittliche Komplexität von O(1) (amortisiert), während es bei einem Array O(n) ist.
  • Hohe Leistung bei Einfüge- und Löschoperationen: Das Einfügen und Entfernen von Elementen nach Wert in einem Set ist ebenfalls in der Regel mit einer durchschnittlichen Komplexität nahe O(1), während es bei einem Array im Falle von Einfüge-/Löschvorgängen, die nicht am Ende erfolgen, O(n) erreichen kann.
  • Keine Notwendigkeit, die Reihenfolge der Elemente beizubehalten: Ein Set garantiert keine bestimmte Reihenfolge der Elemente. Wenn die Reihenfolge wichtig ist, verwenden Sie ein Array.

Typische Anwendungsfälle für Sets:

  • Speicherung einer Menge von eindeutigen Identifikatoren.
  • Filtern von Duplikaten aus einer Sammlung.
  • Effiziente Ausführung von Mengenoperationen wie Vereinigung, Schnittmenge und Differenz.
  • Schnelle Überprüfung, ob ein Element in der Sammlung vorhanden ist.

Beispiel zum Erhalten einzigartiger Elemente aus einem Array mit einem Set:

let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - die Reihenfolge ist nicht garantiert