Поделиться через


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

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

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

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 для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для 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>.

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

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

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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 для всех своих операций.

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