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) 操作 |
数学的に同等の操作 |
---|---|
結合またはセット加算 |
|
共通集合 |
|
セット減算 |
|
対称差 |
一覧のセット操作に加えて、HashSet<T> クラスには、セットが等しいかどうか、セットに重複する部分があるかどうか、およびあるセットが別のセットのサブセットまたはスーパーセットかどうかを判定するためのメソッドもあります。