Package ch.qos.logback.core.util
Class COWArrayList<E>
- java.lang.Object
-
- ch.qos.logback.core.util.COWArrayList<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>,java.util.Collection<E>,java.util.List<E>
@Deprecated(since="2022-01-27") public class COWArrayList<E> extends java.lang.Object implements java.util.List<E>Deprecated.This internal logback API is not supported by AEM as a Cloud Service.A GC-free lock-free thread-safe implementation of theListinterface for use cases where iterations over the list vastly out-number modifications on the list.Underneath, it wraps an instance of
CopyOnWriteArrayListand exposes a copy of the array used by that instance.Typical use:
COWArrayListlist = new COWArrayList(new Integer[0]); // modify the list list.add(1); list.add(2); Integer[] intArray = list.asTypedArray(); int sum = 0; // iteration over the array is thread-safe for(int i = 0; i < intArray.length; i++) { sum != intArray[i]; } If the list is not modified, then repetitive calls to
asTypedArray(),toArray()andtoArray(Object[])are guaranteed to be GC-free. Note that iterating over the list usingiterator()andlistIterator()are not GC-free.- Since:
- 1.1.10
-
-
Constructor Summary
Constructors Constructor Description COWArrayList(E[] modelArray)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidadd(int index, E element)Deprecated.booleanadd(E e)Deprecated.booleanaddAll(int index, java.util.Collection<? extends E> col)Deprecated.booleanaddAll(java.util.Collection<? extends E> c)Deprecated.voidaddIfAbsent(E e)Deprecated.E[]asTypedArray()Deprecated.Return an array of type E[].voidclear()Deprecated.booleancontains(java.lang.Object o)Deprecated.booleancontainsAll(java.util.Collection<?> c)Deprecated.Eget(int index)Deprecated.intindexOf(java.lang.Object o)Deprecated.booleanisEmpty()Deprecated.java.util.Iterator<E>iterator()Deprecated.intlastIndexOf(java.lang.Object o)Deprecated.java.util.ListIterator<E>listIterator()Deprecated.java.util.ListIterator<E>listIterator(int index)Deprecated.Eremove(int index)Deprecated.booleanremove(java.lang.Object o)Deprecated.booleanremoveAll(java.util.Collection<?> col)Deprecated.booleanretainAll(java.util.Collection<?> col)Deprecated.Eset(int index, E element)Deprecated.intsize()Deprecated.java.util.List<E>subList(int fromIndex, int toIndex)Deprecated.java.lang.Object[]toArray()Deprecated.<T> T[]toArray(T[] a)Deprecated.
-
-
-
Constructor Detail
-
COWArrayList
public COWArrayList(E[] modelArray)
Deprecated.
-
-
Method Detail
-
size
public int size()
Deprecated.
-
isEmpty
public boolean isEmpty()
Deprecated.
-
contains
public boolean contains(java.lang.Object o)
Deprecated.
-
iterator
public java.util.Iterator<E> iterator()
Deprecated.
-
toArray
public java.lang.Object[] toArray()
Deprecated.
-
toArray
public <T> T[] toArray(T[] a)
Deprecated.
-
asTypedArray
public E[] asTypedArray()
Deprecated.Return an array of type E[]. The returned array is intended to be iterated over. If the list is modified, subsequent calls to this method will return different/modified array instances.- Returns:
-
addIfAbsent
public void addIfAbsent(E e)
Deprecated.
-
add
public boolean add(E e)
Deprecated.
-
remove
public boolean remove(java.lang.Object o)
Deprecated.
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
Deprecated.
-
addAll
public boolean addAll(java.util.Collection<? extends E> c)
Deprecated.
-
addAll
public boolean addAll(int index, java.util.Collection<? extends E> col)Deprecated.- Specified by:
addAllin interfacejava.util.List<E>
-
removeAll
public boolean removeAll(java.util.Collection<?> col)
Deprecated.
-
retainAll
public boolean retainAll(java.util.Collection<?> col)
Deprecated.
-
clear
public void clear()
Deprecated.
-
set
public E set(int index, E element)
Deprecated.- Specified by:
setin interfacejava.util.List<E>
-
add
public void add(int index, E element)Deprecated.- Specified by:
addin interfacejava.util.List<E>
-
indexOf
public int indexOf(java.lang.Object o)
Deprecated.- Specified by:
indexOfin interfacejava.util.List<E>
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
Deprecated.- Specified by:
lastIndexOfin interfacejava.util.List<E>
-
listIterator
public java.util.ListIterator<E> listIterator()
Deprecated.- Specified by:
listIteratorin interfacejava.util.List<E>
-
listIterator
public java.util.ListIterator<E> listIterator(int index)
Deprecated.- Specified by:
listIteratorin interfacejava.util.List<E>
-
-