言語

HashSet クラス

定義

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
    inherit AbstractSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface ISet
    interface ICollection
    interface IIterable
継承
派生
属性
実装

注釈

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。 セットの反復順序については保証されません。特に、順序が時間の経過と同時に一定であることを保証するものではありません。 このクラスは、 null 要素を許可します。

このクラスは、ハッシュ関数がバケット間で要素を適切に分散すると仮定して、基本操作 (addremovecontainssize) に対して一定の時間パフォーマンスを提供します。 このセットを反復処理するには、 HashSet インスタンスのサイズ (要素の数) とバッキング HashMap インスタンスの "容量" (バケットの数) の合計に比例する時間が必要です。 したがって、反復パフォーマンスが重要な場合は、初期容量を高く設定しすぎないようにすることが非常に重要です (または、負荷係数が低すぎます)。

<strong>この実装が同期されていないことを確認します。</strong> 複数のスレッドがハッシュ セットに同時にアクセスし、少なくとも 1 つのスレッドがセットを変更する場合は、外部で同期する 必要があります 。 これは通常、セットを自然にカプセル化するオブジェクトで同期することによって実現されます。

このようなオブジェクトが存在しない場合は、 Collections#synchronizedSet Collections.synchronizedSet メソッドを使用してセットを "ラップ" する必要があります。 これは、セットへの誤った同期されていないアクセスを防ぐために、作成時に行うのが最善です。

Set s = Collections.synchronizedSet(new HashSet(...));

このクラスの iterator メソッドによって返される反復子は 、フェイル ファストです。反復子が作成された後にいつでもセットが変更された場合、反復子独自の remove メソッドを除き、反復子は ConcurrentModificationExceptionをスローします。 したがって、同時変更が発生した場合、反復子は、将来不確定な時点で任意の非決定論的な動作を危険にさらすのではなく、迅速かつクリーンに失敗します。

反復子のフェイルファスト動作は、一般的に言えば、非同期の同時変更が存在する場合にハード保証することは不可能であるため、保証できないことに注意してください。 フェイルファスト反復子は、ベスト エフォートベースで ConcurrentModificationException をスローします。 したがって、正しさのためにこの例外に依存するプログラムを記述するのは間違っています。 反復子のフェイルファスト動作はバグを検出するためにのみ使用する必要があります。

このクラスは、Java Collections Framework のメンバーです

1.2 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
HashSet()

新しい空のセットを構築します。バッキング HashMap インスタンスには、既定の初期容量 (16) と負荷係数 (0) があります。

HashSet(ICollection)

指定したコレクション内の要素を含む新しいセットを構築します。

HashSet(Int32, Single)

新しい空のセットを構築します。バッキング HashMap インスタンスには、指定された初期容量と指定された負荷係数があります。

HashSet(Int32)

新しい空のセットを構築します。バッキング HashMap インスタンスには、指定された初期容量と既定の読み込み係数 (0.

HashSet(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
JniPeerMembers

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

この HashSet インスタンスの浅いコピーを返します。要素自体は複製されません。

Construct(JniObjectReference, JniObjectReferenceOptions)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
Equals(Object)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Iterator()

このセット内の要素に対する反復子を返します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
NewHashSet(Int32)

予期される数の要素に適した新しい空の HashSet を作成します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RetainAll(ICollection)

追加する

(継承元 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
Size()

このセット内の要素の数 (カーディナリティ) を返します。

Spliterator()

このセット内の要素に対して、 <em>late-binding</em> および <em>fail-fast</em>Spliterator を作成します。

ToArray()

追加する

(継承元 AbstractCollection)
ToArray(Object[])

追加する

(継承元 AbstractCollection)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.Finalized()

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

このクラスは、ハッシュ テーブル (実際にはSet インスタンス) によってサポートされるHashMap インターフェイスを実装します。

ToEnumerable(IIterable)

Java IIterableを反復処理するIEnumerableを返します。これにより、foreachと LINQ をJavaコレクション型で使用できます。 各要素は、Java インスタンスから対応するマネージド型にマーシャリングされます。

ToEnumerable<T>(IIterable)

Java IIterableを反復処理し、各要素をTにマーシャリングするIEnumerable<T>を返します。 これにより、foreachと LINQ をJavaコレクション型で使用できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象