CopyOnWriteArrayList Класс

Определение

Потокобезопасный вариант , 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
Наследование
CopyOnWriteArrayList
Атрибуты
Реализации

Комментарии

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

Обычно это слишком затратно, но может быть <>более<> эффективным, чем альтернативы, когда операции обхода значительно превышают число изменений, и полезно, когда вы не можете или не хотите синхронизировать обходы, но при этом необходимо исключить помехи между параллельными потоками. Метод итератора стиля "snapshot" использует ссылку на состояние массива в точке создания итератора. Этот массив никогда не меняется в течение времени существования итератора, поэтому вмешательство невозможно, и итератор гарантированно не вызовет ConcurrentModificationException. Итератор не будет отражать добавления, удаления или изменения в списке с момента создания итератора. Операции изменения элементов в самих итераторах (remove, setи add) не поддерживаются. Эти методы вызывают исключение UnsupportedOperationException.

Разрешены все элементы, включая null.

Эффекты согласованности памяти. Как и в случае с другими параллельными коллекциями, действия в потоке перед помещением объекта в CopyOnWriteArrayList<>i происходят после<> доступа или удаления этого элемента в другом потоке.CopyOnWriteArrayList

Этот класс является членом Платформы коллекций Java.

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

Документация по Java для java.util.concurrent.CopyOnWriteArrayList.

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

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

CopyOnWriteArrayList()

Создает пустой список.

CopyOnWriteArrayList(ICollection)

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

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

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

CopyOnWriteArrayList(Object[])

Создает список, содержащий копию заданного массива.

Свойства

Class

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

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

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

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

Возвращает значение true , если этот список не содержит элементов.

JniIdentityHashCode

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

PeerReference

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

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

ThresholdType

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

Методы

Add(Int32, Object)

Вставляет указанный элемент в указанную позицию в этом списке.

Add(Object)

Добавляет указанный элемент в конец этого списка.

AddAll(ICollection)

Добавляет все элементы в указанной коллекции в конец этого списка в том порядке, в который они возвращаются итератором указанной коллекции.

AddAll(Int32, ICollection)

Вставляет все элементы из указанной коллекции в этот список, начиная с указанной позиции.

AddAllAbsent(ICollection)

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

AddIfAbsent(Object)

Добавляет элемент , если его нет.

Clear()

Удаляет все элементы из этого списка.

Clone()

Возвращает неполную копию этого списка.

Contains(Object)

Возвращает значение true , если этот список содержит указанный элемент.

ContainsAll(ICollection)

Возвращает значение true , если этот список содержит все элементы указанной коллекции.

Dispose()

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Указывает, равен ли какой-то другой объект этому объекту.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

Get(Int32)

Добавляемое

GetHashCode()

Возвращает значение хэш-кода для объекта.

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

Добавляемое

IndexOf(Object, Int32)

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

Iterator()

Возвращает итератор по элементам в этом списке в правильной последовательности.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

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

Добавляемое

LastIndexOf(Object, Int32)

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

ListIterator()

Добавляемое

ListIterator(Int32)

Добавляемое

Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

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

Пробуждает все потоки, ожидающие на мониторе этого объекта.

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

Удаляет элемент в указанной позиции в этом списке.

Remove(Object)

Удаляет первое вхождение указанного элемента из этого списка, если он присутствует.

RemoveAll(ICollection)

Удаляет из этого списка все его элементы, содержащиеся в указанной коллекции.

RemoveIf(IPredicate)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

ReplaceAll(IUnaryOperator)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

RetainAll(ICollection)

Сохраняет в этом списке только те элементы, которые содержатся в указанной коллекции.

Set(Int32, Object)

Заменяет элемент в указанной позиции в этом списке указанным элементом.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

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

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

Sort(IComparator)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

Spliterator()

Возвращает над Spliterator элементами в этом списке.

SubList(Int32, Int32)

Возвращает представление части этого списка между fromIndexвключающими и toIndexэксклюзивными.

ToArray()

Возвращает массив, содержащий все элементы в этом списке в правильной последовательности (от первого до последнего элемента).

ToArray(Object[])

Возвращает массив, содержащий все элементы в этом списке в правильной последовательности (от первого к последнему элементу); тип среды выполнения возвращаемого массива равен типу указанного массива.

ToArray<T>()

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

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

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

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

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

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

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

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

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

IJavaPeerable.Disposed()

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

GetJniTypeName(IJavaPeerable)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

ToEnumerable(IIterable)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

ToEnumerable<T>(IIterable)

Потокобезопасный вариант , java.util.ArrayList в котором все мутативные операции (add, setи т. д.) реализуются путем создания новой копии базового массива.

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