Spec-Zone.ru › OpenJDK 24

Класс CopyOnWriteArrayList<E>

java.lang.Object
java.util.concurrent.CopyOnWriteArrayList<E>
Type Parameters:
E - тип элементов, хранящихся в этом списке
Все реализованные интерфейсы:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, SequencedCollection<E>
public class CopyOnWriteArrayList<E> extends Object implements List<E>, RandomAccess, Cloneable, Serializable
Потокобезопасная версия класса ArrayList, в которой все изменяющие операции (add, set и так далее) реализуются путём создания новой копии базового массива.

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

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

Эффекты согласованности памяти: Как и в других коллекциях потоков, действия в потоке до размещения объекта в CopyOnWriteArrayList предшествуют последующим действиям доступа или удаления этого элемента из CopyOnWriteArrayList в другом потоке.

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

Since:
1.5
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
CopyOnWriteArrayList()
Создаёт пустой список.
CopyOnWriteArrayList(E[] toCopyIn)
Создаёт список, содержащий копию заданного массива.
CopyOnWriteArrayList(Collection<? extends E> c)
Создаёт список, содержащий элементы указанного набора в порядке их возвращения итератором набора.

Краткое описание методов

Модификатор и тип Метод Описание
void add(int index, E element)
Вставляет указанный элемент в указанную позицию в этом списке.
boolean add(E e)
Добавляет указанный элемент в конец этого списка.
boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанного набора в этот список, начиная с указанной позиции.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанного набора в конец этого списка в порядке их возвращения итератором указанного набора.
int addAllAbsent(Collection<? extends E> c)
Добавляет все элементы указанного набора, которые ещё не содержатся в этом списке, в конец этого списка в порядке их возвращения итератором указанного набора.
void addFirst(E e)
Добавляет элемент в качестве первого элемента этого набора (необязательная операция).
boolean addIfAbsent(E e)
Добавляет элемент, если он отсутствует.
void addLast(E e)
Добавляет элемент в качестве последнего элемента этого набора (необязательная операция).
void clear()
Удаляет все элементы из этого списка.
Object clone()
Возвращает неглубокую копию этого списка.
boolean contains(Object o)
Возвращает значение true, если этот список содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает значение true, если этот список содержит все элементы указанного набора.
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока все элементы не будут обработаны или действие не выбросит исключение.
E get(int index)
Возвращает элемент в указанной позиции в этом списке.
E getFirst()
Возвращает первый элемент этого набора.
E getLast()
Возвращает последний элемент этого набора.
int hashCode()
Возвращает хэш-код для этого списка.
int indexOf(E e, int index)
Возвращает индекс первого вхождения указанного элемента в этом списке, выполняя поиск вперёд с index, или возвращает -1, если элемент не найден.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент.
boolean isEmpty()
Возвращает значение true, если этот список не содержит элементов.
Iterator<E> iterator()
Возвращает итератор по элементам в этом списке в правильном порядке.
int lastIndexOf(E e, int index)
Возвращает индекс последнего вхождения указанного элемента в этом списке, выполняя поиск назад с позиции index, или возвращает -1, если элемент не найден.
int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этом списке или -1, если этот список не содержит элемент.
ListIterator<E> listIterator()
Возвращает итератор списка по элементам в этом списке (в правильном порядке).
ListIterator<E> listIterator(int index)
Возвращает итератор списка по элементам в этом списке (в правильном порядке), начиная с указанной позиции в списке.
E remove(int index)
Удаляет элемент в указанной позиции в этом списке.
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этого списка, если оно присутствует.
boolean removeAll(Collection<?> c)
Удаляет из этого списка все его элементы, которые содержатся в указанном наборе.
E removeFirst()
Удаляет и возвращает первый элемент этого набора (необязательная операция).
boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этого набора, которые удовлетворяют заданному предикату (необязательная операция).
E removeLast()
Удаляет и возвращает последний элемент этого набора (необязательная операция).
boolean retainAll(Collection<?> c)
Сохраняет только элементы в этом списке, которые содержатся в указанном наборе.
List<E> reversed()
Возвращает упорядоченный в обратном порядке вид этого набора.
E set(int index, E element)
Заменяет элемент в указанной позиции в этом списке указанным элементом.
int size()
Возвращает количество элементов в этом списке.
Spliterator<E> spliterator()
Возвращает Spliterator по элементам в этом списке.
List<E> subList(int fromIndex, int toIndex)
Возвращает вид части этого списка между fromIndex, включительно, и toIndex, исключая.
Object[] toArray()
Возвращает массив, содержащий все элементы в этом списке в правильном порядке (от первого до последнего элемента).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы в этом списке в правильном порядке (от первого до последнего элемента); тип возвращаемого массива — тип указанного массива.
String toString()
Возвращает строковое представление этого списка.

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.util.Collection

parallelStream, stream, toArray

Методы, объявленные в интерфейсе java.util.List

replaceAll, sort

Подробное описание конструкторов

CopyOnWriteArrayList

public CopyOnWriteArrayList()
Создаёт пустой список.

CopyOnWriteArrayList

public CopyOnWriteArrayList(Collection<? extends E> c)
Создаёт список, содержащий элементы указанной коллекции в порядке, в котором они возвращаются итератором коллекции.
Параметры:
c - коллекция начальных элементов
Исключения:
NullPointerException - если указанная коллекция равна null

CopyOnWriteArrayList

public CopyOnWriteArrayList(E[] toCopyIn)
Создаёт список, содержащий копию заданного массива.
Параметры:
toCopyIn - массив (копия этого массива используется как внутренний массив)
Исключения:
NullPointerException - если указанный массив равен null

Подробное описание методов

size

public int size()
Возвращает количество элементов в этом списке.
Унаследовано от:
size в интерфейсе Collection<E>
Унаследовано от:
size в интерфейсе List<E>
Возвращает:
количество элементов в этом списке

isEmpty

public boolean isEmpty()
Возвращает true, если этот список не содержит элементов.
Унаследовано от:
isEmpty в интерфейсе Collection<E>
Унаследовано от:
isEmpty в интерфейсе List<E>
Возвращает:
true, если этот список не содержит элементов

contains

public boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент. Более формально, возвращает true, если и только если этот список содержит хотя бы один элемент, такой что.
Унаследовано от:
contains в интерфейсе Collection<E>
Унаследовано от:
contains в интерфейсе List<E>
Параметры:
o - элемент, присутствие которого в этом списке требуется проверить
Возвращает:
true, если этот список содержит указанный элемент

indexOf

public int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этот список или -1, если этот список не содержит элемента. Более формально, возвращает наименьший индекс.
Унаследовано от:
indexOf в интерфейсе List<E>
Параметры:
o - искомый элемент
Возвращает:
индекс первого вхождения указанного элемента в этот список, или -1, если этот список не содержит элемента

indexOf

public int indexOf(E e, int index)
Возвращает индекс первого вхождения указанного элемента в этот список, начиная поиск с позиции.
Параметры:
e - искомый элемент
index - индекс, с которого начинается поиск
Возвращает:
индекс первого вхождения элемента в этом списке на позиции или позже в списке; -1, если элемент не найден.
Исключения:
IndexOutOfBoundsException - если указанный индекс отрицательный

lastIndexOf

public int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этот список, или -1, если этот список не содержит элемента. Более формально, возвращает наибольший индекс.
Унаследовано от:
lastIndexOf в интерфейсе List<E>
Параметры:
o - искомый элемент
Возвращает:
индекс последнего вхождения указанного элемента в этот список, или -1, если этот список не содержит элемента

lastIndexOf

public int lastIndexOf(E e, int index)
Возвращает индекс последнего вхождения указанного элемента в этом списке, ища назад от.
Параметры:
e - искомый элемент
index - индекс, с которого начинается поиск назад
Возвращает:
индекс последнего вхождения элемента на позиции, меньшей или равной, в этом списке; -1, если элемент не найден.
Исключения:
IndexOutOfBoundsException - если указанный индекс больше или равен текущему размеру этого списка

clone

public Object clone()
Возвращает неглубокую копию этого списка. (Сами элементы не копируются.)
Переопределяет:
clone в классе Object
Возвращает:
клонированный список
См. также:
  • Cloneable

toArray

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

Возвращаемый массив будет «безопасным» в том смысле, что ссылки на него не поддерживаются этим списком. (Другими словами, этот метод должен выделить новый массив). Таким образом, вызывающий метод свободен изменять возвращаемый массив.

Этот метод служит мостом между основанными на массивах и основанными на коллекциях API.

Унаследовано от:
toArray в интерфейсе Collection<E>
Унаследовано от:
toArray в интерфейсе List<E>
Возвращает:
массив, содержащий все элементы в этом списке
См. также:
  • Arrays.asList(Object[])

toArray

public <T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого списка в правильном порядке (от первого до последнего элемента); тип времени выполнения возвращаемого массива соответствует типу указанного массива. Если список помещается в указанный массив, он возвращается в нём. В противном случае для этого выделяется новый массив с типом времени выполнения указанного массива и размером этого списка.

Если этот список помещается в указанный массив с некоторым избытком (т. е. массив имеет больше элементов, чем этот список), элемент в массиве, непосредственно следующий за концом списка, устанавливается в null. (Это полезно для определения длины этого списка *только* если вызывающий метод знает, что этот список не содержит null-элементов.)

Как и метод toArray(), этот метод служит мостом между основанными на массивах и основанными на коллекциях API. Кроме того, этот метод позволяет точно контролировать тип времени выполнения выходного массива и может в определённых обстоятельствах использоваться для экономии затрат на выделение памяти.

Предположим, что x - это список, известный тем, что он содержит только строки. Следующий код может быть использован для выгрузки списка в новый выделенный массив типа String:

 String[] y = x.toArray(new String[0]);
Обратите внимание, что toArray(new Object[0]) аналогичен по функции toArray().
Унаследовано от:
toArray в интерфейсе Collection<E>
Унаследовано от:
toArray в интерфейсе List<E>
Параметры типа:
T - тип компонента массива, который должен содержать коллекцию
Параметры:
a - массив, в который должны быть помещены элементы списка, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа времени выполнения.
Возвращает:
массив, содержащий все элементы в этом списке
Исключения:
ArrayStoreException - если тип времени выполнения указанного массива не является супертипом типа времени выполнения каждого элемента в этом списке
NullPointerException - если указанный массив равен null

get

public E get(int index)
Возвращает элемент по указанной позиции в этом списке.
Унаследовано от:
get в интерфейсе List<E>
Параметры:
index - индекс возвращаемого элемента
Возвращает:
элемент по указанной позиции в этом списке
Исключения:
IndexOutOfBoundsException - если индекс находится вне диапазона (index < 0 || index >= size())

getFirst

public E getFirst()
Возвращает первый элемент этого набора.
Определено в:
getFirst в интерфейсе List<E>
Определено в:
getFirst в интерфейсе SequencedCollection<E>
Возвращает:
полученный элемент
Исключения:
NoSuchElementException - если этот набор пуст
С момента:
21

getLast

public E getLast()
Возвращает последний элемент этого набора.
Определено в:
getLast в интерфейсе List<E>
Определено в:
getLast в интерфейсе SequencedCollection<E>
Возвращает:
полученный элемент
Исключения:
NoSuchElementException - если этот набор пуст
С момента:
21

set

public E set(int index, E element)
Заменяет элемент в указанной позиции в этом списке указанным элементом.
Определено в:
set в интерфейсе List<E>
Параметры:
index - индекс заменяемого элемента
element - элемент, который будет сохранен в указанной позиции
Возвращает:
элемент, который ранее находился в указанной позиции
Исключения:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index >= size())

add

public boolean add(E e)
Добавляет указанный элемент в конец этого списка.
Определено в:
add в интерфейсе Collection<E>
Определено в:
add в интерфейсе List<E>
Параметры:
e - элемент, который нужно добавить в этот список
Возвращает:
true (как указано в Collection.add(E))

add

public void add(int index, E element)
Вставляет указанный элемент в указанную позицию в этом списке. Сдвигает текущий элемент в этой позиции (если есть) и любые последующие элементы вправо (увеличивает их индексы на единицу).
Определено в:
add в интерфейсе List<E>
Параметры:
index - индекс, в который нужно вставить указанный элемент
element - вставляемый элемент
Исключения:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index > size())

addFirst

public void addFirst(E e)
Добавляет элемент как первый элемент этого набора (необязательная операция). После успешного завершения этой операции указанный элемент станет членом этого набора, и он будет первым элементом в порядке встречи.
Определено в:
addFirst в интерфейсе List<E>
Определено в:
addFirst в интерфейсе SequencedCollection<E>
Параметры:
e - добавляемый элемент
С момента:
21

addLast

public void addLast(E e)
Добавляет элемент как последний элемент этого набора (необязательная операция). После успешного завершения этой операции указанный элемент станет членом этого набора, и он будет последним элементом в порядке встречи.
Определено в:
addLast в интерфейсе List<E>
Определено в:
addLast в интерфейсе SequencedCollection<E>
Параметры:
e - добавляемый элемент.
С момента:
21

remove

public E remove(int index)
Удаляет элемент в указанной позиции в этом списке. Сдвигает любые последующие элементы влево (уменьшает их индексы на единицу). Возвращает элемент, который был удален из списка.
Определено в:
remove в интерфейсе List<E>
Параметры:
index - индекс удаляемого элемента
Возвращает:
элемент, который ранее находился в указанной позиции
Исключения:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index >= size())

removeFirst

public E removeFirst()
Удаляет и возвращает первый элемент этого набора (необязательная операция).
Определено в:
removeFirst в интерфейсе List<E>
Определено в:
removeFirst в интерфейсе SequencedCollection<E>
Возвращает:
удаленный элемент
Исключения:
NoSuchElementException - если этот набор пуст
С момента:
21

removeLast

public E removeLast()
Удаляет и возвращает последний элемент этого набора (необязательная операция).
Определено в:
removeLast в интерфейсе List<E>
Определено в:
removeLast в интерфейсе SequencedCollection<E>
Возвращает:
удаленный элемент
Исключения:
NoSuchElementException - если этот набор пуст
С момента:
21

remove

public boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этого списка, если он присутствует. Если в этом списке элемента нет, он не изменяется. Более формально, удаляет элемент с наименьшим индексом i таким образом, что Objects.equals(o, get(i)) (если такой элемент существует). Возвращает true, если этот список содержал указанный элемент (или, что эквивалентно, если этот список изменился в результате вызова).
Определено в:
remove в интерфейсе Collection<E>
Определено в:
remove в интерфейсе List<E>
Параметры:
o - удаляемый элемент из этого списка, если он присутствует
Возвращает:
true если этот список содержал указанный элемент

addIfAbsent

public boolean addIfAbsent(E e)
Добавляет элемент, если он отсутствует.
Параметры:
e - добавляемый элемент в этот список, если отсутствует
Возвращает:
true если элемент был добавлен

containsAll

public boolean containsAll(Collection<?> c)
Возвращает true, если этот список содержит все элементы указанной коллекции.
Определено в:
containsAll в интерфейсе Collection<E>
Определено в:
containsAll в интерфейсе List<E>
Параметры:
c - коллекция, проверяемая на наличие в этом списке
Возвращает:
true если этот список содержит все элементы указанной коллекции
Исключения:
NullPointerException - если указанная коллекция равна null
См. также:
  • contains(Object)

removeAll

public boolean removeAll(Collection<?> c)
Удаляет из этого списка все его элементы, которые содержатся в указанной коллекции. Это особенно дорогостоящая операция в этом классе из-за необходимости внутренней временной массива.
Определено в:
removeAll в интерфейсе Collection<E>
Определено в:
removeAll в интерфейсе List<E>
Параметры:
c - коллекция, содержащая элементы, которые необходимо удалить из этого списка
Возвращает:
true если этот список изменился в результате вызова
Исключения:
ClassCastException - если класс элемента этого списка несовместим с указанной коллекцией (необязательно)
NullPointerException - если этот список содержит null-элемент, а указанная коллекция не допускает null-элементов (необязательно), или если указанная коллекция равна null
См. также:
  • remove(Object)

retainAll

public boolean retainAll(Collection<?> c)
Сохраняет только элементы в этом списке, которые содержатся в указанной коллекции. Другими словами, удаляет из этого списка все его элементы, которые не содержатся в указанной коллекции.
Specified by:
retainAll in interface Collection<E>
Specified by:
retainAll in interface List<E>
Parameters:
c - коллекция, содержащая элементы, которые должны быть сохранены в этом списке
Returns:
true, если этот список изменился в результате вызова
Throws:
ClassCastException - если класс элемента этого списка несовместим с указанной коллекцией (необязательно)
NullPointerException - если этот список содержит нулевой элемент, а указанная коллекция не допускает нулевых элементов (необязательно), или если указанная коллекция равна null
See Also:
  • remove(Object)

addAllAbsent

public int addAllAbsent(Collection<? extends E> c)
Добавляет все элементы из указанной коллекции, которые ещё не содержатся в этом списке, в конец этого списка в порядке, в котором они возвращаются итератором указанной коллекции.
Parameters:
c - коллекция, содержащая элементы, которые нужно добавить в этот список
Returns:
количество добавленных элементов
Throws:
NullPointerException - если указанная коллекция равна null
See Also:
  • addIfAbsent(Object)

clear

public void clear()
Удаляет все элементы из этого списка. Список будет пустым после возврата этого вызова.
Specified by:
clear in interface Collection<E>
Specified by:
clear in interface List<E>

addAll

public boolean addAll(Collection<? extends E> c)
Добавляет все элементы из указанной коллекции в конец этого списка в порядке, в котором они возвращаются итератором указанной коллекции.
Specified by:
addAll in interface Collection<E>
Specified by:
addAll in interface List<E>
Parameters:
c - коллекция, содержащая элементы, которые нужно добавить в этот список
Returns:
true, если этот список изменился в результате вызова
Throws:
NullPointerException - если указанная коллекция равна null
See Also:
  • add(Object)

addAll

public boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы из указанной коллекции в этот список, начиная с указанной позиции. Смещает элемент, который в данный момент находится на этой позиции (если таковой имеется), и все последующие элементы вправо (увеличивает их индексы). Новые элементы будут появляться в этом списке в порядке, в котором они возвращаются итератором указанной коллекции.
Specified by:
addAll in interface List<E>
Parameters:
index - индекс, с которого нужно вставить первый элемент из указанной коллекции
c - коллекция, содержащая элементы, которые нужно добавить в этот список
Returns:
true, если этот список изменился в результате вызова
Throws:
IndexOutOfBoundsException - если индекс находится вне допустимого диапазона (index < 0 || index > size())
NullPointerException - если указанная коллекция равна null
See Also:
  • add(int,Object)

forEach

public void forEach(Consumer<? super E> action)
Описание скопировано из интерфейса: Iterable
Выполняет заданное действие для каждого элемента Iterable до тех пор, пока все элементы не будут обработаны или действие не выбросит исключение. Действия выполняются в порядке итерации, если этот порядок указан. Исключения, выброшенные действием, передаются вызывающей стороне.

Поведение этого метода не определено, если действие выполняет побочные эффекты, которые изменяют исходный источник элементов, за исключением случаев, когда класс-преемник определил политику одновременного изменения.

Specified by:
forEach in interface Iterable<E>
Parameters:
action - Действие, которое должно быть выполнено для каждого элемента
Throws:
NullPointerException - если указанное действие равно null

removeIf

public boolean removeIf(Predicate<? super E> filter)
Описание скопировано из интерфейса: Collection
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция). Ошибки или исключения времени выполнения, выброшенные во время итерации или предикатом, передаются вызывающей стороне.
Specified by:
removeIf in interface Collection<E>
Parameters:
filter - предикат, возвращающий true для удаляемых элементов
Returns:
true, если какие-либо элементы были удалены
Throws:
NullPointerException - если указанный фильтр равен null

toString

public String toString()
Возвращает строковое представление этого списка. Строковое представление состоит из строковых представлений элементов списка в порядке, в котором они возвращаются его итератором, заключённых в квадратные скобки ("[]"). Смежные элементы разделяются символами ", " (запятая и пробел). Элементы преобразуются в строки с помощью String.valueOf(Object).
Overrides:
toString in class Object
Returns:
строковое представление этого списка

equals

public boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство. Возвращает true, если указанный объект является тем же объектом, что и этот объект, или если он также является списком и последовательность элементов, возвращаемых итератором указанного списка, совпадает с последовательностью, возвращаемой итератором этого списка. Две последовательности считаются одинаковыми, если у них одинаковая длина, и соответствующие элементы в одинаковых позициях в последовательности являются равными. Два элемента e1 и e2 считаются равными, если Objects.equals(e1, e2).
Specified by:
equals in interface Collection<E>
Specified by:
equals in interface List<E>
Overrides:
equals in class Object
Parameters:
o - объект, который нужно сравнить на равенство с этим списком
Returns:
true, если указанный объект равен этому списку
See Also:
  • Object.equals(Object)
  • Set.equals(Object)
  • List.equals(Object)

hashCode

public int hashCode()
Возвращает значение хэш-кода для этого списка.

Эта реализация использует определение в List.hashCode().

Specified by:
hashCode in interface Collection<E>
Specified by:
hashCode in interface List<E>
Overrides:
hashCode in class Object
Returns:
значение хэш-кода для этого списка
See Also:
  • Object.equals(Object)
  • List.equals(Object)

iterator

public Iterator<E> iterator()
Возвращает итератор по элементам в этом списке в правильной последовательности.

Возвращаемый итератор предоставляет моментальный снимок состояния списка в момент создания итератора. Для обхода итератора не требуется синхронизация. Итератор НЕ поддерживает метод remove.

Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface List<E>
Returns:
итератор по элементам в этом списке в правильной последовательности

listIterator

public ListIterator<E> listIterator()
Возвращает итератор списка по элементам этого списка (в правильной последовательности).

Возвращаемый итератор предоставляет моментальную фотографию состояния списка на момент создания итератора. Синхронизация не требуется при обходе итератора. Итератор не поддерживает методы remove, set или add.

Указано:
listIterator в интерфейсе List<E>
Возвращает:
итератор списка по элементам этого списка (в правильной последовательности)

listIterator

public ListIterator<E> listIterator(int index)
Возвращает итератор списка по элементам этого списка (в правильной последовательности), начиная с указанной позиции в списке. Указанный индекс указывает первый элемент, который будет возвращён начальным вызовом next. Начальный вызов previous вернёт элемент с указанным индексом минус один.

Возвращаемый итератор предоставляет моментальную фотографию состояния списка на момент создания итератора. Синхронизация не требуется при обходе итератора. Итератор не поддерживает методы remove, set или add.

Указано:
listIterator в интерфейсе List<E>
Параметры:
index - индекс первого элемента, который будет возвращён итератором списка (вызовом next)
Возвращает:
итератор списка по элементам этого списка (в правильной последовательности), начиная с указанной позиции в списке
Выбрасывает:
IndexOutOfBoundsException - если индекс вне диапазона (index < 0 || index > size())

spliterator

public Spliterator<E> spliterator()
Возвращает Spliterator по элементам этого списка.

Spliterator сообщает о Spliterator.IMMUTABLE, Spliterator.ORDERED, Spliterator.SIZED и Spliterator.SUBSIZED.

Итератор предоставляет моментальную фотографию состояния списка на момент создания итератора. Синхронизация не требуется при работе с итератором.

Указано:
spliterator в интерфейсе Collection<E>
Указано:
spliterator в интерфейсе Iterable<E>
Указано:
spliterator в интерфейсе List<E>
Возвращает:
Spliterator по элементам этого списка
С:
1.8

subList

public List<E> subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между fromIndex (включительно) и toIndex (исключительно). Возвращаемый список поддерживается этим списком, поэтому изменения в возвращаемом списке отражаются в этом списке.

Семантика списка, возвращаемого этим методом, становится неопределённой, если базовый список (то есть этот список) изменяется любым способом, кроме как через возвращаемый список.

Указано:
subList в интерфейсе List<E>
Параметры:
fromIndex - нижняя граница (включительно) подсписка
toIndex - верхняя граница (исключительно) подсписка
Возвращает:
представление указанного диапазона в этом списке
Выбрасывает:
IndexOutOfBoundsException - для недопустимого значения индекса конечной точки (fromIndex < 0 || toIndex > size || fromIndex > toIndex)

reversed

public List<E> reversed()
Возвращает представление этого набора в обратном порядке. Последовательность встреч элементов в возвращаемом представлении является обратной последовательности встреч элементов в этом наборе. Обратный порядок влияет на все чувствительные к порядку операции, включая те, которые выполняются над представлениями коллекций возвращаемого представления. Если реализация коллекции допускает изменения этого представления, изменения «прописываются» в базовую коллекцию. Изменения в базовой коллекции могут или не могут быть видны в этом обратном представлении, в зависимости от реализации.

Изменения в обратном представлении разрешены и будут переданы в этот список. Кроме того, изменения в этом списке будут видны в обратном представлении. Подсписки и итераторы обратного представления имеют те же ограничения, что и у этого списка.

Указано:
reversed в интерфейсе List<E>
Указано:
reversed в интерфейсе SequencedCollection<E>
Возвращает:
представление этого набора в обратном порядке, как List
С:
21

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/CopyOnWriteArrayList.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API