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 操作(addsetremove)成本高昂,因为它们通常需要复制整个基础数组。 <li>迭代器不支持可变 remove 操作。 <li>遍历通过迭代器是快速的,并且无法遇到来自其他线程的干扰。 迭代器依赖于构造迭代器时数组的未更改快照。 </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 集合框架的成员

在 1.5 中添加。

适用于 . 的 java.util.concurrent.CopyOnWriteArraySetJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

CopyOnWriteArraySet()

创建一个空集。

CopyOnWriteArraySet(ICollection)

创建一个集,其中包含指定集合的所有元素。

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsEmpty

要添加

(继承自 AbstractCollection)
JniIdentityHashCode

Set用于其所有操作的内部CopyOnWriteArrayList函数。

(继承自 Object)
JniPeerMembers

Set用于其所有操作的内部CopyOnWriteArrayList函数。

PeerReference

Set用于其所有操作的内部CopyOnWriteArrayList函数。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

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 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</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函数。

适用于