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.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 (add, , setremoveи т. д.) являются дорогостоящими, так как они обычно влечет за собой копирование всего базового массива. <li>Итераторы не поддерживают мутативную 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.

Добавлено в версии 1.5.

Java документации по java.util.concurrent.CopyOnWriteArraySet.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
CopyOnWriteArraySet()

Создает пустой набор.

CopyOnWriteArraySet(ICollection)

Создает набор, содержащий все элементы указанной коллекции.

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsEmpty

Добавление

(Унаследовано от AbstractCollection)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
JniPeerMembers

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя Описание
Add(Object)

Добавление

(Унаследовано от AbstractCollection)
AddAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Clear()

Добавление

(Унаследовано от AbstractCollection)
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
Contains(Object)

Добавление

(Унаследовано от AbstractCollection)
ContainsAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
Equals(Object)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
Size()

Возвращает количество элементов в этом наборе.

Spliterator()

Spliterator Возвращает элементы в этом наборе в том порядке, в котором были добавлены эти элементы.

ToArray()

Добавление

(Унаследовано от AbstractCollection)
ToArray(Object[])

Добавление

(Унаследовано от AbstractCollection)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IJavaPeerable.Disposed()

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

ToEnumerable(IIterable)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

ToEnumerable<T>(IIterable)

Объект, Set который использует внутреннюю CopyOnWriteArrayList для всех своих операций.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к