次の方法で共有


CopyOnWriteArraySet クラス

定義

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

[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArraySet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, 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
継承
属性
実装

注釈

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

<b>サンプル使用法。</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 ドキュメントjava.util.concurrent.CopyOnWriteArraySet

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

CopyOnWriteArraySet()

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

CopyOnWriteArraySet(ICollection)

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

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

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

プロパティ

Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

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

(継承元 Object)
JniPeerMembers

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

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

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

(継承元 Object)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
Equals(Object)

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

(継承元 Object)
ForEach(IConsumer)

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

GetHashCode()

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

(継承元 Object)
Iterator()

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

JavaFinalize()

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

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

RetainAll(ICollection)

追加する

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

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

(継承元 Object)
Size()

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

Spliterator()

Spliteratorこれらの要素が追加された順序で、このセット内の要素の上に a を返します。

ToArray()

追加する

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

追加する

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

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

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

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

(継承元 Object)
Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

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

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

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

IJavaPeerable.Disposed()

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

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(継承元 Object)
IJavaPeerable.Finalized()

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

(継承元 Object)
IJavaPeerable.JniManagedPeerState

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

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

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

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

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

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

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

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

ToEnumerable(IIterable)

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

ToEnumerable<T>(IIterable)

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

適用対象