HashSet 集合類型

HashSet<T> 類別是一個集合的集合 (Set Collection),會實作 ICollection 介面及 ICollection<T> 泛型介面。

從 .NET Framework 4 開始,HashSet<T> 類別會實作 ISet<T> 類別。

集合的集合

在數學規則中,集合 (Set) 是一個不同物件的集合 (Collection),通常是由判斷項目是否是特定集合 (Set) 的成員之規則所定義。 例如,一個集合 (Set) 可以定義為內含「從 1 到 21 之間所有的奇數」,或數字「1、3、5 和 7」。

HashSet 類別

HashSet<T> 類別是以數學集合 (Set) 模型為基礎,並提供高效能的集合 (Set) 運算,類似存取 Dictionary<TKey, TValue>Hashtable 集合 (Collection) 的索引鍵。 簡而言之,您可以將 HashSet<T> 類別視為沒有值的 Dictionary<TKey, TValue> 集合 (Collection)。

HashSet<T> 集合 (Collection) 不會排序,也無法包含重複的項目。 如果對應用程式來說,排序和項目重複比效能更重要,請使用 List<T> 類別配合 Sort 方法。

HashSet<T> 提供許多數學集合 (Set) 運算,例如集合 (Set) 相加 (結合) 以及集合 (Set) 相減。 下表列出提供的 HashSet<T> 運算,及其數學等式。

HashSet(Of T) 作業

數學意義

UnionWith

聯集或集合 (Set) 相加

IntersectWith

交集

ExceptWith

集合 (Set) 相減

SymmetricExceptWith

對稱差

除了列出的集合 (Set) 運算外,HashSet<T> 類別也提供方法以判斷集合 (Set) 相等、集合 (Set) 重疊,以及集合 (Set) 是否為子集合 (Subset) 或是另一個集合 (Set) 的超集 (Superset)。

請參閱

參考

SortedSet<T>

ISet<T>

HashSet<T>

概念

HashSet 和 LINQ 設定作業

其他資源

常用的集合類型