Share via


CopyOnWriteArrayList 類別

定義

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

[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 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

這通常成本太高,但可能 <><> 比周遊作業大幅超出數目的替代專案更有效率,而且當您無法或不想同步周遊時很有用,但需要排除平行線程之間的干擾。 「快照集」樣式反覆運算器方法會在建立反覆運算器時,使用陣列狀態的參考。 此陣列永遠不會在反覆運算器的存留期間變更,因此無法干擾,而且保證反覆運算器不會擲回 ConcurrentModificationException 。 反覆運算器不會反映建立反覆運算器之後清單的新增、移除或變更。 不支援反覆運算器本身 remove (、 setadd) 的專案變更作業。 這些方法會擲回 UnsupportedOperationException

允許所有元素,包括 null

記憶體一致性效果:如同其他並行集合,在將物件放入 i > 發生之前 < /i > 動作之前,執行緒中的動作會從 CopyOnWriteArrayList 另一 CopyOnWriteArrayList< 個執行緒中的 存取或移除該元素。

這個類別是 JAVA Collections Framework的成員。

在 1.5 中新增。

java.util.concurrent.CopyOnWriteArrayList JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

CopyOnWriteArrayList()

建立空白清單。

CopyOnWriteArrayList(ICollection)

根據集合的反覆運算器傳回的順序,建立包含指定集合專案的清單。

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

CopyOnWriteArrayList(Object[])

建立保存指定陣列複本的清單。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsEmpty

如果此清單不包含任何專案,則傳 true 回 。

JniIdentityHashCode

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
JniPeerMembers

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

PeerReference

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

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 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
Dispose(Boolean)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
ForEach(IConsumer)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

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()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Remove(Int32)

移除此清單中指定位置的專案。

Remove(Object)

如果指定專案存在,請從此清單中移除第一個出現的專案。

RemoveAll(ICollection)

從這份清單中移除其所有包含在指定集合中的專案。

RemoveIf(IPredicate)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

ReplaceAll(IUnaryOperator)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

RetainAll(ICollection)

只保留此清單中包含在指定集合中的專案。

Set(Int32, Object)

以指定的專案取代此清單中指定位置的專案。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

傳回此清單中的專案數目。

Sort(IComparator)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

Spliterator()

Spliterator 回此清單中專案上的 。

SubList(Int32, Int32)

傳回此清單的檢視,此清單的部分介於 、 內含和 toIndex 、 獨佔之間 fromIndex

ToArray()

傳回陣列,包含此清單中所有元素的陣列,其順序 (從第一個到最後一個專案) 。

ToArray(Object[])

傳回陣列,包含此清單中所有元素的陣列,其順序 (從第一個到最後一個專案) ;傳回陣列的執行時間類型是指定陣列的執行時間類型。

ToArray<T>()

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.Finalized()

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

GetJniTypeName(IJavaPeerable)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

ToEnumerable(IIterable)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

ToEnumerable<T>(IIterable)

的執行緒安全變體, java.util.ArrayList 其中所有變動作業 (addset 等) 都是藉由建立基礎陣列的全新複本來實作。

適用於