HashSet-Auflistungstyp
Die HashSet<T>-Klasse ist eine Mengenauflistung, die die ICollection-Schnittstelle und die generische ICollection<T>-Schnittstelle implementiert.
Die HashSet<T>-Klasse implementiert die ISet<T>-Klasse und beginnt dabei mit .NET Framework, Version 4.
Mengenauflistungen
In der Mathematik ist eine Menge eine Sammlung unterschiedlicher Objekte, die manuell durch eine Regel definiert wird, die festlegt, ob ein Element Teil einer bestimmten Menge ist. Die Definition einer Menge kann beispielsweise lauten, dass eine Menge "alle ungeraden Zahlen zwischen 1 und 21" oder die Zahlen "1, 3, 5 und 7" enthält.
Die HashSet-Klasse
Die HashSet<T>-Klasse basiert auf dem Modell mathematischer Mengen und bietet leistungsstarke Mengenoperationen, die mit dem Zugriff auf die Schlüssel für die Dictionary<TKey, TValue>-Auflistung oder Hashtable-Auflistung zu vergleichen sind. Einfach ausgedrückt, kann die HashSet<T>-Klasse als Dictionary<TKey, TValue>-Auflistung ohne Werte betrachtet werden.
Eine HashSet<T>-Auflistung ist nicht sortiert und kann keine doppelten Elemente enthalten. Wenn für die Anwendung die Reihenfolge oder Duplizierung von Elementen wichtiger ist als die Leistung, sollten Sie die Verwendung der List<T>-Klasse zusammen mit der Sort-Methode in Betracht ziehen.
HashSet<T> stellt zahlreiche mathematische Mengenoperationen bereit, wie zum Beispiel die Mengenaddition (Vereinigungen) und Mengensubtraktion. In der folgenden Tabelle sind die verfügbaren HashSet<T>-Operationen und ihre mathematischen Entsprechungen aufgelistet.
HashSet(Of T)-Operation |
Mathematische Entsprechung |
---|---|
Vereinigung oder Mengenaddition |
|
Schnittmenge |
|
Mengensubtraktion |
|
Symmetrische Differenz |
Zusätzlich zu den aufgeführten Mengenoperationen stellt die HashSet<T>-Klasse auch Methoden zum Ermitteln der Mengenqualität, der Überlappung von Mengen und zur Feststellung, ob eine Menge eine unter- oder übergeordnete Menge einer anderen Menge ist, bereit.
Siehe auch
Referenz
Konzepte
HashSet- und LINQ-Mengenoperationen