共用方式為


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.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
繼承
屬性
實作

備註

Set,針對其所有作業使用內部 CopyOnWriteArrayList 。 因此,它共用相同的基本屬性: <ul><li>最適合設定大小通常會保持小、只讀作業大大超過變動作業數目的應用程式,而且您需要防止在周遊期間干擾線程。 <li>這是安全線程。 <li>Mutative operations (addsetremove等) 很昂貴,因為它們通常需要複製整個基礎陣列。 <li>Iterators 不支持變動 remove 作業。 <透過反覆運算器進行 li>Traversal 的速度很快,而且無法遇到來自其他線程的干擾。 反覆運算器依賴在建構反覆運算器時,陣列的不變更快照集。 </ul>

<b>範例使用方式。</b> 下列程式代碼草圖會使用寫入複製集來維護一組處理程式對象,這些物件會在狀態更新時執行某些動作。

{@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.CopyOnWriteArraySetJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

CopyOnWriteArraySet()

建立空白集合。

CopyOnWriteArraySet(ICollection)

建立集合,其中包含指定集合的所有專案。

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

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

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractCollection)
JniIdentityHashCode

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)
JniPeerMembers

Set,針對其所有作業使用內部 CopyOnWriteArrayList

PeerReference

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 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()

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)
Dispose(Boolean)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)
Equals(Object)

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

(繼承來源 Object)
ForEach(IConsumer)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
Iterator()

根據新增這些項目的順序,傳回這個集合中包含的專案反覆運算器。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

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

(繼承來源 Object)
NotifyAll()

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

(繼承來源 Object)
Remove(Object)

要新增

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

要新增

(繼承來源 AbstractCollection)
RemoveIf(IPredicate)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

RetainAll(ICollection)

要新增

(繼承來源 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

傳回這個集合中的項目數目。

Spliterator()

Spliterator根據新增這些項目的順序,傳回這個集合中元素的 。

ToArray()

要新增

(繼承來源 AbstractCollection)
ToArray(Object[])

要新增

(繼承來源 AbstractCollection)
ToArray<T>()

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 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()

Set,針對其所有作業使用內部 CopyOnWriteArrayList

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

Set,針對其所有作業使用內部 CopyOnWriteArrayList

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

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

Set,針對其所有作業使用內部 CopyOnWriteArrayList

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

Set,針對其所有作業使用內部 CopyOnWriteArrayList

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

Set,針對其所有作業使用內部 CopyOnWriteArrayList

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

Set,針對其所有作業使用內部 CopyOnWriteArrayList

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

GetJniTypeName(IJavaPeerable)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

ToEnumerable(IIterable)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

ToEnumerable<T>(IIterable)

Set,針對其所有作業使用內部 CopyOnWriteArrayList

適用於