HashSet<T> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
値のセットを表します。
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::Generic::ISet<T>
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::Generic::IReadOnlySet<T>, System::Collections::Generic::ISet<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::Generic::ISet<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::ISet<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class HashSet : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::ISet<T>
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.ISet<T>
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlySet<T>, System.Collections.Generic.ISet<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.ISet<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.ISet<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.ISet<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class HashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.ISet<T>
type HashSet<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ISet<'T>
type HashSet<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ISet<'T>
interface IReadOnlySet<'T>
interface IDeserializationCallback
interface ISerializable
type HashSet<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ISet<'T>
interface IDeserializationCallback
interface ISerializable
[<System.Serializable>]
type HashSet<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface ISerializable
interface IDeserializationCallback
[<System.Serializable>]
type HashSet<'T> = class
interface ISerializable
interface IDeserializationCallback
interface ISet<'T>
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
[<System.Serializable>]
type HashSet<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface ISerializable
interface IDeserializationCallback
interface ISet<'T>
interface IReadOnlyCollection<'T>
type HashSet<'T> = class
interface ISet<'T>
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
Public Class HashSet(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IReadOnlyCollection(Of T), ISet(Of T)
Public Class HashSet(Of T)
Implements ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), IReadOnlyCollection(Of T), IReadOnlySet(Of T), ISerializable, ISet(Of T)
Public Class HashSet(Of T)
Implements ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), IReadOnlyCollection(Of T), ISerializable, ISet(Of T)
Public Class HashSet(Of T)
Implements ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), ISerializable
Public Class HashSet(Of T)
Implements ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), ISerializable, ISet(Of T)
Public Class HashSet(Of T)
Implements ICollection(Of T), IEnumerable(Of T), ISet(Of T)
型パラメーター
- T
ハッシュ セット内の要素の型。
- 継承
-
HashSet<T>
- 属性
- 実装
例
次の例では、2 つの異なるセットをマージする方法を示します。 次の使用例は、2 つの HashSet<T> オブジェクトを作成し、それぞれ偶数と奇数の値を設定します。 偶数を含む 3 番目の HashSet<T> オブジェクトがセットから作成されます。 次に、UnionWith メソッドを呼び出します。これにより、奇数セットが 3 番目のセットに追加されます。
HashSet<int> evenNumbers = new HashSet<int>();
HashSet<int> oddNumbers = new HashSet<int>();
for (int i = 0; i < 5; i++)
{
// Populate numbers with just even numbers.
evenNumbers.Add(i * 2);
// Populate oddNumbers with just odd numbers.
oddNumbers.Add((i * 2) + 1);
}
Console.Write("evenNumbers contains {0} elements: ", evenNumbers.Count);
DisplaySet(evenNumbers);
Console.Write("oddNumbers contains {0} elements: ", oddNumbers.Count);
DisplaySet(oddNumbers);
// Create a new HashSet populated with even numbers.
HashSet<int> numbers = new HashSet<int>(evenNumbers);
Console.WriteLine("numbers UnionWith oddNumbers...");
numbers.UnionWith(oddNumbers);
Console.Write("numbers contains {0} elements: ", numbers.Count);
DisplaySet(numbers);
void DisplaySet(HashSet<int> collection)
{
Console.Write("{");
foreach (int i in collection)
{
Console.Write(" {0}", i);
}
Console.WriteLine(" }");
}
/* This example produces output similar to the following:
* evenNumbers contains 5 elements: { 0 2 4 6 8 }
* oddNumbers contains 5 elements: { 1 3 5 7 9 }
* numbers UnionWith oddNumbers...
* numbers contains 10 elements: { 0 2 4 6 8 1 3 5 7 9 }
*/
let displaySet (collection: HashSet<int>) =
printf "{"
for i in collection do
printf $" {i}"
printfn " }"
let evenNumbers = HashSet<int>()
let oddNumbers = HashSet<int>()
for i = 0 to 4 do
// Populate numbers with just even numbers.
evenNumbers.Add(i * 2) |> ignore
// Populate oddNumbers with just odd numbers.
oddNumbers.Add(i * 2 + 1) |> ignore
printf $"evenNumbers contains {evenNumbers.Count} elements: "
displaySet evenNumbers
printf $"oddNumbers contains {oddNumbers.Count} elements: "
displaySet oddNumbers
// Create a new HashSet populated with even numbers.
let numbers = HashSet<int> evenNumbers
printfn "numbers UnionWith oddNumbers..."
numbers.UnionWith oddNumbers
printf $"numbers contains {numbers.Count} elements: "
displaySet numbers
// This example produces output similar to the following:
// evenNumbers contains 5 elements: { 0 2 4 6 8 }
// oddNumbers contains 5 elements: { 1 3 5 7 9 }
// numbers UnionWith oddNumbers...
// numbers contains 10 elements: { 0 2 4 6 8 1 3 5 7 9 }
Imports System.Collections.Generic
Class Program
Shared Sub Main()
Dim evenNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()
Dim oddNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()
For i As Integer = 0 To 4
' Populate evenNumbers with only even numbers.
evenNumbers.Add(i * 2)
' Populate oddNumbers with only odd numbers.
oddNumbers.Add((i * 2) + 1)
Next i
Console.Write("evenNumbers contains {0} elements: ", evenNumbers.Count)
DisplaySet(evenNumbers)
Console.Write("oddNumbers contains {0} elements: ", oddNumbers.Count)
DisplaySet(oddNumbers)
' Create a new HashSet populated with even numbers.
Dim numbers As HashSet(Of Integer) = New HashSet(Of Integer)(evenNumbers)
Console.WriteLine("numbers UnionWith oddNumbers...")
numbers.UnionWith(oddNumbers)
Console.Write("numbers contains {0} elements: ", numbers.Count)
DisplaySet(numbers)
End Sub
Private Shared Sub DisplaySet(ByVal collection As HashSet(Of Integer))
Console.Write("{")
For Each i As Integer In collection
Console.Write(" {0}", i)
Next i
Console.WriteLine(" }")
End Sub
End Class
' This example produces output similar to the following:
' evenNumbers contains 5 elements: { 0 2 4 6 8 }
' oddNumbers contains 5 elements: { 1 3 5 7 9 }
' numbers UnionWith oddNumbers...
' numbers contains 10 elements: { 0 2 4 6 8 1 3 5 7 9 }
注釈
この API の詳細については、「HashSet
コンストラクター
HashSet<T>() |
空の HashSet<T> クラスの新しいインスタンスを初期化し、セット型の既定の等値比較子を使用します。 |
HashSet<T>(IEnumerable<T>) |
セット型の既定の等値比較子を使用し、指定したコレクションからコピーされた要素を含み、コピーされた要素の数に対応できる十分な容量を持つ、HashSet<T> クラスの新しいインスタンスを初期化します。 |
HashSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
セット型に対して指定した等値比較子を使用し、指定したコレクションからコピーされた要素を含み、コピーされた要素の数に対応できる十分な容量を持つ、HashSet<T> クラスの新しいインスタンスを初期化します。 |
HashSet<T>(IEqualityComparer<T>) |
空の HashSet<T> クラスの新しいインスタンスを初期化し、セット型に対して指定された等値比較子を使用します。 |
HashSet<T>(Int32) |
空の HashSet<T> クラスの新しいインスタンスを初期化しますが、 |
HashSet<T>(Int32, IEqualityComparer<T>) |
セット型に対して指定された等値比較子を使用し、 |
HashSet<T>(SerializationInfo, StreamingContext) |
古い.
シリアル化されたデータを使用して、HashSet<T> クラスの新しいインスタンスを初期化します。 |
プロパティ
Capacity |
内部データ構造がサイズを変更せずに保持できる要素の合計数を取得します。 |
Comparer |
セット内の値の等価性を判断するために使用される IEqualityComparer<T> オブジェクトを取得します。 |
Count |
セットに含まれる要素の数を取得します。 |
メソッド
Add(T) |
指定した要素をセットに追加します。 |
Clear() |
HashSet<T> オブジェクトからすべての要素を削除します。 |
Contains(T) |
HashSet<T> オブジェクトに指定した要素が含まれているかどうかを判断します。 |
CopyTo(T[]) |
HashSet<T> オブジェクトの要素を配列にコピーします。 |
CopyTo(T[], Int32) |
指定した配列インデックスから始まる、HashSet<T> オブジェクトの要素を配列にコピーします。 |
CopyTo(T[], Int32, Int32) |
指定した配列インデックスから始まる、HashSet<T> オブジェクトの指定した数の要素を配列にコピーします。 |
CreateSetComparer() |
HashSet<T> オブジェクトの等値テストに使用できる IEqualityComparer オブジェクトを返します。 |
EnsureCapacity(Int32) |
このハッシュ セットが、バッキング ストレージをさらに拡張することなく、指定した数の要素を保持できることを確認します。 |
Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
ExceptWith(IEnumerable<T>) |
現在の HashSet<T> オブジェクトから、指定したコレクション内のすべての要素を削除します。 |
GetEnumerator() |
HashSet<T> オブジェクトを反復処理する列挙子を返します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
古い.
ISerializable インターフェイスを実装し、HashSet<T> オブジェクトのシリアル化に必要なデータを返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
IntersectWith(IEnumerable<T>) |
現在の HashSet<T> オブジェクトを、そのオブジェクトおよび指定したコレクションに存在する要素のみを含むように変更します。 |
IsProperSubsetOf(IEnumerable<T>) |
HashSet<T> オブジェクトが、指定したコレクションの適切なサブセットであるかどうかを判断します。 |
IsProperSupersetOf(IEnumerable<T>) |
HashSet<T> オブジェクトが、指定したコレクションの適切なスーパーセットであるかどうかを判断します。 |
IsSubsetOf(IEnumerable<T>) |
HashSet<T> オブジェクトが指定したコレクションのサブセットであるかどうかを判断します。 |
IsSupersetOf(IEnumerable<T>) |
HashSet<T> オブジェクトが、指定したコレクションのスーパーセットであるかどうかを判断します。 |
MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
OnDeserialization(Object) |
ISerializable インターフェイスを実装し、逆シリアル化が完了したときに逆シリアル化イベントを発生させます。 |
Overlaps(IEnumerable<T>) |
現在の HashSet<T> オブジェクトと指定したコレクションが共通の要素を共有するかどうかを決定します。 |
Remove(T) |
指定した要素を HashSet<T> オブジェクトから削除します。 |
RemoveWhere(Predicate<T>) |
指定した述語で定義された条件に一致するすべての要素を HashSet<T> コレクションから削除します。 |
SetEquals(IEnumerable<T>) |
HashSet<T> オブジェクトと指定したコレクションに同じ要素が含まれているかどうかを判断します。 |
SymmetricExceptWith(IEnumerable<T>) |
現在の HashSet<T> オブジェクトを、そのオブジェクトまたは指定したコレクション内に存在する要素のみを含むように変更しますが、両方は含まれません。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
TrimExcess() |
HashSet<T> オブジェクトの容量を、含まれる要素の実際の数に設定し、近くの実装固有の値に切り上げます。 |
TrimExcess(Int32) |
HashSet<T> オブジェクトの容量を指定したエントリ数に設定し、近くの実装固有の値に切り上げます。 |
TryGetValue(T, T) |
セットで特定の値を検索し、検出された等しい値 (存在する場合) を返します。 |
UnionWith(IEnumerable<T>) |
現在の HashSet<T> オブジェクトを、それ自体、指定したコレクション、またはその両方に存在するすべての要素を含むように変更します。 |
明示的なインターフェイスの実装
ICollection<T>.Add(T) |
ICollection<T> オブジェクトに項目を追加します。 |
ICollection<T>.IsReadOnly |
コレクションが読み取り専用かどうかを示す値を取得します。 |
IEnumerable.GetEnumerator() |
コレクションを反復処理する列挙子を返します。 |
IEnumerable<T>.GetEnumerator() |
コレクションを反復処理する列挙子を返します。 |
拡張メソッド
適用対象
こちらもご覧ください
.NET