言語

CopyOnWriteArraySet クラス

定義

すべての操作に内部Setを使用するCopyOnWriteArrayList

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

注釈

すべての操作に内部Setを使用するCopyOnWriteArrayList。 したがって、同じ基本的なプロパティを共有します。 <ul><li>これは、セット サイズが一般的に小さく、読み取り専用操作の数が大幅に多く、トラバーサル中にスレッド間の干渉を防ぐ必要があるアプリケーションに最適です。 <li>スレッドセーフです。 <li>Mutative 操作 (addsetremoveなど) は、通常、基になる配列全体をコピーする必要があるため、コストがかかります。 <li>Iterators は、変異型 remove 操作をサポートしていません。 <li>反復子を介したTraversalは高速であり、他のスレッドからの干渉に遭遇することはできません。 反復子は、反復子が構築された時点での配列の変更されていないスナップショットに依存します。 </ul>

<b>Sample Usage.</b> 次のコード スケッチでは、書き込み時のコピー セットを使用して、状態の更新時に何らかのアクションを実行する一連の Handler オブジェクトを保持します。

{@code
            class Handler { void handle() { ... } }

            class X {
              private final CopyOnWriteArraySet<Handler> handlers
                = new CopyOnWriteArraySet<>();
              public void addHandler(Handler h) { handlers.add(h); }

              private long internalState;
              private synchronized void changeState() { internalState = ...; }

              public void update() {
                changeState();
                for (Handler handler : handlers)
                  handler.handle();
              }
            }}

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

1\.5 で追加されました。

java.util.concurrent.CopyOnWriteArraySetの Java ドキュメント。

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

コンストラクター

名前 説明
CopyOnWriteArraySet()

空のセットを作成します。

CopyOnWriteArraySet(ICollection)

指定したコレクションのすべての要素を含むセットを作成します。

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
JniPeerMembers

すべての操作に内部Setを使用するCopyOnWriteArrayList

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

このオブジェクトのコピーを作成して返します。

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

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
Equals(Object)

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
ForEach(IConsumer)

すべての操作に内部Setを使用するCopyOnWriteArrayList

GetHashCode()

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

(継承元 Object)
Iterator()

これらの要素が追加された順序で、このセットに含まれる要素に対する反復子を返します。

JavaFinalize()

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

すべての操作に内部Setを使用するCopyOnWriteArrayList

RetainAll(ICollection)

追加する

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

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

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

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
Size()

このセット内の要素の数を返します。

Spliterator()

これらの要素が追加された順序で、このセット内の要素に対する 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を使用するCopyOnWriteArrayList

(継承元 JavaObject)
IJavaPeerable.Finalized()

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

すべての操作に内部Setを使用するCopyOnWriteArrayList

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

すべての操作に内部Setを使用するCopyOnWriteArrayList

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

すべての操作に内部Setを使用するCopyOnWriteArrayList

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

すべての操作に内部Setを使用するCopyOnWriteArrayList

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

すべての操作に内部Setを使用するCopyOnWriteArrayList

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

すべての操作に内部Setを使用するCopyOnWriteArrayList

ToEnumerable(IIterable)

すべての操作に内部Setを使用するCopyOnWriteArrayList

ToEnumerable<T>(IIterable)

すべての操作に内部Setを使用するCopyOnWriteArrayList

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象