CopyOnWriteArrayList クラス

定義

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

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

注釈

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

通常、これはコストが高すぎますが、トラバーサル操作がミューテーションを大幅に上回る場合の代替方法よりも効率が高くなる可能性があり<><>、トラバーサルを同期できない、または同期したくないときに、同時スレッド間の干渉を排除する必要がある場合に便利です。 "スナップショット" スタイル反復子メソッドは、反復子が作成された時点での配列の状態への参照を使用します。 この配列は反復子の有効期間中に変更されないため、干渉は不可能であり、反復子は をスロー ConcurrentModificationExceptionしないことが保証されます。 反復子は、反復子の作成以降、リストへの追加、削除、または変更を反映しません。 反復子自体 (remove、、 setおよび add) に対する要素変更操作はサポートされていません。 これらのメソッドは をスロー UnsupportedOperationExceptionします。

を含むすべての null要素が許可されます。

メモリ整合性の影響: 他の同時実行コレクションと同様に、オブジェクトを i>に<CopyOnWriteArrayList配置する前のスレッド内のアクションは、別のスレッド内の からCopyOnWriteArrayListその要素にアクセスまたは削除された後に発生<する前/i> アクションです。

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

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

java.util.concurrent.CopyOnWriteArrayListJava ドキュメント。

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

コンストラクター

CopyOnWriteArrayList()

空のリストを作成します。

CopyOnWriteArrayList(ICollection)

指定したコレクションの要素を含むリストを、コレクションの反復子から返される順序で作成します。

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

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

CopyOnWriteArrayList(Object[])

指定された配列のコピーを保持するリストを作成します。

プロパティ

Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

このリストに true 要素が含まれない場合は を返します。

JniIdentityHashCode

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
JniPeerMembers

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

PeerReference

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

Add(Int32, Object)

指定した要素を、このリスト内の指定した位置に挿入します。

Add(Object)

指定した要素をこのリストの末尾に追加します。

AddAll(ICollection)

指定したコレクション内のすべての要素を、指定したコレクションの反復子によって返される順序で、このリストの末尾に追加します。

AddAll(Int32, ICollection)

指定したコレクション内のすべての要素を、指定した位置からこのリストに挿入します。

AddAllAbsent(ICollection)

このリストにまだ含まれていない、指定したコレクション内のすべての要素を、指定したコレクションの反復子によって返される順序で、このリストの末尾に追加します。

AddIfAbsent(Object)

存在しない場合は、 要素を追加します。

Clear()

このリストからすべての要素を削除します。

Clone()

このリストの簡易コピーを返します。

Contains(Object)

このリストに true 指定した要素が含まれている場合は を返します。

ContainsAll(ICollection)

このリストに true 指定したコレクションのすべての要素が含まれている場合は を返します。

Dispose()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
Dispose(Boolean)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
Equals(Object)

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

(継承元 Object)
ForEach(IConsumer)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

Get(Int32)

追加する

GetHashCode()

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

(継承元 Object)
IndexOf(Object)

追加する

IndexOf(Object, Int32)

このリスト内の指定した要素の最初の出現箇所のインデックスを返し、 から index前方に検索するか、要素が見つからない場合は -1 を返します。

Iterator()

このリスト内の要素に対する反復子を適切な順序で返します。

JavaFinalize()

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

(継承元 Object)
LastIndexOf(Object)

追加する

LastIndexOf(Object, Int32)

このリスト内の指定した要素の最後の出現箇所のインデックスを返し、 から index後方に検索するか、要素が見つからない場合は -1 を返します。

ListIterator()

追加する

ListIterator(Int32)

追加する

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Remove(Int32)

このリスト内の指定した位置にある 要素を削除します。

Remove(Object)

指定した要素が存在する場合は、このリストから最初に出現する要素を削除します。

RemoveAll(ICollection)

このリストから、指定したコレクションに含まれるすべての要素を削除します。

RemoveIf(IPredicate)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

ReplaceAll(IUnaryOperator)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

RetainAll(ICollection)

指定したコレクションに含まれるこのリスト内の要素のみを保持します。

Set(Int32, Object)

このリスト内の指定した位置にある要素を、指定した要素に置き換えます。

SetHandle(IntPtr, JniHandleOwnership)

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

(継承元 Object)
Size()

このリスト内の要素の数を返します。

Sort(IComparator)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

Spliterator()

このリスト内 Spliterator の要素に対する を返します。

SubList(Int32, Int32)

、包括、および 排他の間 fromIndexのこのリストの部分のビューを toIndex返します。

ToArray()

このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。

ToArray(Object[])

このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。返される配列のランタイム型は、指定した配列のランタイム型です。

ToArray<T>()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。>

(継承元 Object)
Wait(Int64)

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

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

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

(継承元 Object)

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

IJavaPeerable.Disposed()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
IJavaPeerable.Finalized()

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

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

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

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

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

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

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

GetJniTypeName(IJavaPeerable)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

ToEnumerable(IIterable)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

ToEnumerable<T>(IIterable)

基になる配列の java.util.ArrayList 新しいコピーを作成することによって、すべての変更操作 (add、など set) が実装されるスレッド セーフバリアント。

適用対象