HashSet 集合类型
HashSet<T> 类是一个实现 ICollection 接口和 ICollection<T> 泛型接口的 set 集合。
从 .NET Framework 4开始,HashSet<T> 类实现了 ISet<T> 类。
Set 集合
在数学中,set 是指通常由某一规则定义的不同对象的集合,其中规则用于确定一个元素是否属于某个特定的 set。 例如,一个 set 可以定义为包含“1 和 21 之间的所有奇数”或数字“1、3、5 和 7”。
HashSet 类
HashSet<T> 类基于数学 set 的模型,可提供类似于访问 Dictionary<TKey, TValue> 或 Hashtable 集合的键的高性能 set 运算。 简而言之,可以将 HashSet<T> 类视为不包含值的 Dictionary<TKey, TValue> 集合。
HashSet<T> 集合没有排序,且不能包含重复的元素。 与性能相比,如果顺序或元素重复项对应用程序更为重要,请考虑结合使用 List<T> 类和 Sort 方法。
HashSet<T> 提供了多种数学 set 运算,例如 set 加法(并集)和 set 减法。 下表列出了所提供的 HashSet<T> 运算及其数学等效项。
HashSet(Of T) 运算 |
数学等效项 |
---|---|
并集或 set 加法 |
|
交集 |
|
Set 减法 |
|
余集 |
除了上面列出的 set 运算外,HashSet<T> 类还提供了一些方法,可用于确定两个 set 是否相等、是否重叠以及一个 set 是另一个 set 的子集还是超集。