CopyOnWriteArrayList 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
的執行緒安全變體, 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
- 繼承
- 屬性
- 實作
備註
的執行緒安全變體, java.util.ArrayList
其中所有變動作業 (add
、 set
等) 都是藉由建立基礎陣列的全新複本來實作。
這通常成本太高,但可能 <><> 比周遊作業大幅超出數目的替代專案更有效率,而且當您無法或不想同步周遊時很有用,但需要排除平行線程之間的干擾。 「快照集」樣式反覆運算器方法會在建立反覆運算器時,使用陣列狀態的參考。 此陣列永遠不會在反覆運算器的存留期間變更,因此無法干擾,而且保證反覆運算器不會擲回 ConcurrentModificationException
。 反覆運算器不會反映建立反覆運算器之後清單的新增、移除或變更。 不支援反覆運算器本身 remove
(、 set
和 add
) 的專案變更作業。 這些方法會擲回 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 |
傳回這個 |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
IsEmpty |
如果此清單不包含任何專案,則傳 |
JniIdentityHashCode |
的執行緒安全變體, |
JniPeerMembers |
的執行緒安全變體, |
PeerReference |
的執行緒安全變體, |
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) |
|
ContainsAll(ICollection) |
|
Dispose() |
的執行緒安全變體, |
Dispose(Boolean) |
的執行緒安全變體, |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
ForEach(IConsumer) |
的執行緒安全變體, |
Get(Int32) |
要新增 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
IndexOf(Object) |
要新增 |
IndexOf(Object, Int32) |
傳回此清單中指定專案第一次出現的索引、從 |
Iterator() |
依適當順序傳回此清單中元素的反覆運算器。 |
JavaFinalize() |
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。 (繼承來源 Object) |
LastIndexOf(Object) |
要新增 |
LastIndexOf(Object, Int32) |
傳回此清單中指定專案最後一次出現的索引、從 |
ListIterator() |
要新增 |
ListIterator(Int32) |
要新增 |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
Remove(Int32) |
移除此清單中指定位置的專案。 |
Remove(Object) |
如果指定專案存在,請從此清單中移除第一個出現的專案。 |
RemoveAll(ICollection) |
從這份清單中移除其所有包含在指定集合中的專案。 |
RemoveIf(IPredicate) |
的執行緒安全變體, |
ReplaceAll(IUnaryOperator) |
的執行緒安全變體, |
RetainAll(ICollection) |
只保留此清單中包含在指定集合中的專案。 |
Set(Int32, Object) |
以指定的專案取代此清單中指定位置的專案。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
Size() |
傳回此清單中的專案數目。 |
Sort(IComparator) |
的執行緒安全變體, |
Spliterator() |
傳 |
SubList(Int32, Int32) |
傳回此清單的檢視,此清單的部分介於 、 內含和 |
ToArray() |
傳回陣列,包含此清單中所有元素的陣列,其順序 (從第一個到最後一個專案) 。 |
ToArray(Object[]) |
傳回陣列,包含此清單中所有元素的陣列,其順序 (從第一個到最後一個專案) ;傳回陣列的執行時間類型是指定陣列的執行時間類型。 |
ToArray<T>() |
的執行緒安全變體, |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
的執行緒安全變體, |
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() |
的執行緒安全變體, |
IJavaPeerable.DisposeUnlessReferenced() |
的執行緒安全變體, |
IJavaPeerable.Finalized() |
的執行緒安全變體, |
IJavaPeerable.JniManagedPeerState |
的執行緒安全變體, |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
的執行緒安全變體, |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
的執行緒安全變體, |
IJavaPeerable.SetPeerReference(JniObjectReference) |
的執行緒安全變體, |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
的執行緒安全變體, |
GetJniTypeName(IJavaPeerable) |
的執行緒安全變體, |
ToEnumerable(IIterable) |
的執行緒安全變體, |
ToEnumerable<T>(IIterable) |
的執行緒安全變體, |