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) 運算 |
數學意義 |
---|---|
聯集或集合 (Set) 相加 |
|
交集 |
|
集合 (Set) 相減 |
|
對稱差 |
除了列出的集合 (Set) 運算外,HashSet<T> 類別也提供方法以判斷集合 (Set) 相等、集合 (Set) 重疊,以及集合 (Set) 是否為子集合 (Subset) 或是另一個集合 (Set) 的超集 (Superset)。