See Also: CopyOnWriteArrayList Members
A thread-safe random-access list.
Read operations (including CopyOnWriteArrayList.Get(int)) do not block and may overlap with update operations. Reads reflect the results of the most recently completed operations. Aggregate operations like CopyOnWriteArrayList.addAll(int, java.util.Collection<? extends E>) and CopyOnWriteArrayList.Clear are atomic; they never expose an intermediate state.
Iterators of this list never throw Java.Util.ConcurrentModificationException. When an iterator is created, it keeps a copy of the list's contents. It is always safe to iterate this list, but iterations may not reflect the latest state of the list.
Iterators returned by this list and its sub lists cannot modify the underlying list. In particular, Java.Util.IIterator.Remove, Java.Util.IListIterator.add(E) and Java.Util.IListIterator.set(E) all throw Java.Lang.UnsupportedOperationException.
This class offers extended API beyond the Java.Util.IList interface. It includes additional overloads for indexed search (CopyOnWriteArrayList.indexOf(E, int) and CopyOnWriteArrayList.lastIndexOf(E, int)) and methods for conditional adds (CopyOnWriteArrayList.addIfAbsent(E) and CopyOnWriteArrayList.addAllAbsent(java.util.Collection<? extends E>)).