HashSet コレクション型

更新 : 2007 年 11 月

HashSet<T> クラスは、ICollection インターフェイスおよび ICollection<T> ジェネリック インターフェイスを実装するセット コレクションです。

セット コレクション

数学的には、セットとは個別のオブジェクトの集合であり、通常はある要素が特定のセットのメンバかどうかを決定する規則によって定義されます。たとえば、"1 ~ 21 の間のすべての奇数" を含むセット、または値 "1、3、5、および 7" を含むセットなどと定義できます。

HashSet クラス

HashSet<T> クラスは、数学的なセットのモデルに基づき、Dictionary<TKey, TValue> コレクションや Hashtable コレクションのキーへのアクセスと似た、高パフォーマンスのセット操作を提供します。簡単に言えば、HashSet<T> クラスは値のない Dictionary<TKey, TValue> コレクションと考えることができます。

HashSet<T> コレクションは、並べ替えされず、重複する要素を含むことはできません。パフォーマンスより順序または要素の重複の方が重要なアプリケーションの場合は、List<T> クラスと Sort メソッドの使用を検討してください。

HashSet<T> には、セットの加算 (結合) やセットの減算など、多くの数学的なセット操作が用意されています。用意されている HashSet<T> 操作とそれに対応する数学的操作の一覧を次の表に示します。

HashSet(Of T) 操作

数学的に同等の操作

UnionWith

結合またはセット加算

IntersectWith

共通集合

ExceptWith

セット減算

SymmetricExceptWith

対称差

一覧のセット操作に加えて、HashSet<T> クラスには、セットが等しいかどうか、セットに重複する部分があるかどうか、およびあるセットが別のセットのサブセットまたはスーパーセットかどうかを判定するためのメソッドもあります。

参照

概念

HashSet 操作と LINQ セット操作

参照

HashSet<T>

その他の技術情報

一般的に使用されるコレクション型