Spec-Zone.ru › OpenJDK 25

Класс CopyOnWriteArrayList<E>

java.lang.Object
java.util.concurrent.CopyOnWriteArrayList<E>
Параметры типа:
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, предшествуют по отношению happens-before действиям, следующим за доступом к этому элементу или его удалением из CopyOnWriteArrayList в другом потоке.

Этот класс является частью Java Collections Framework.

Начиная с версии:
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()
Возвращает строковое представление этого списка.

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

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

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

parallelStream, stream, toArray

Методы, объявленные в интерфейсе 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 тогда и только тогда, когда этот список содержит хотя бы один элемент e такой, что Objects.equals(o, e).
Определено в:
contains в интерфейсе Collection<E>
Определено в:
contains в интерфейсе List<E>
Параметры:
o — элемент, наличие которого в этом списке проверяется
Возвращает:
true, если этот список содержит указанный элемент

indexOf

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

indexOf

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

lastIndexOf

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

lastIndexOf

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

clone

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

toArray

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

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

Этот метод служит связующим звеном между API на основе массивов и API на основе коллекций.

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

toArray

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

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

Как и метод toArray(), этот метод служит связующим звеном между API на основе массивов и 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)
Оставляет в этом списке только элементы, содержащиеся в указанной коллекции. Иными словами, удаляет из этого списка все элементы, не содержащиеся в указанной коллекции.
Определено в:
retainAll в интерфейсе Collection<E>
Определено в:
retainAll в интерфейсе List<E>
Параметры:
c — коллекция, содержащая элементы, которые нужно оставить в этом списке
Возвращает:
true, если в результате вызова этот список изменился
Исключения:
ClassCastException — если класс элемента этого списка несовместим с указанной коллекцией (необязательно)
NullPointerException — если этот список содержит элемент null, а указанная коллекция не допускает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • remove(Object)

addAllAbsent

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

clear

public void clear()
Удаляет все элементы из этого списка. После возврата из этого вызова список будет пуст.
Определено в:
clear в интерфейсе Collection<E>
Определено в:
clear в интерфейсе List<E>

addAll

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

addAll

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

forEach

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

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

Определено в:
forEach в интерфейсе Iterable<E>
Параметры:
action — действие, выполняемое для каждого элемента
Исключения:
NullPointerException — если указанное действие равно null

removeIf

public boolean removeIf(Predicate<? super E> filter)
Описание скопировано из интерфейса: Collection
Удаляет из этой коллекции все элементы, удовлетворяющие заданному предикату (необязательная операция). Ошибки и исключения времени выполнения, возникающие во время итерации или при вызове предиката, передаются вызывающему коду.
Определено в:
removeIf в интерфейсе Collection<E>
Параметры:
filter — предикат, возвращающий true для элементов, которые нужно удалить
Возвращает:
true, если были удалены какие-либо элементы
Исключения:
NullPointerException — если указанный фильтр равен null

toString

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

equals

public boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство. Возвращает true, если указанный объект является тем же объектом, что и этот объект, либо если он также является List и последовательность элементов, возвращаемых итератором iterator для указанного списка, совпадает с последовательностью, возвращаемой итератором для этого списка. Две последовательности считаются одинаковыми, если они имеют одинаковую длину, а соответствующие элементы, находящиеся на одной и той же позиции в последовательности, равны. Два элемента e1 и e2 считаются равными, если Objects.equals(e1, e2).
Определено в:
equals в интерфейсе Collection<E>
Определено в:
equals в интерфейсе List<E>
Переопределяет:
equals в классе Object
Параметры:
o - объект, который сравнивается с этим списком на равенство
Возвращает:
true, если указанный объект равен этому списку
См. также:
  • Object.equals(Object)
  • Set.equals(Object)
  • List.equals(Object)

hashCode

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

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

Определено в:
hashCode в интерфейсе Collection<E>
Определено в:
hashCode в интерфейсе List<E>
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого списка
См. также:
  • Object.equals(Object)
  • List.equals(Object)

iterator

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

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

Определено в:
iterator в интерфейсе Collection<E>
Определено в:
iterator в интерфейсе Iterable<E>
Определено в:
iterator в интерфейсе List<E>
Возвращает:
итератор по элементам этого списка в надлежащем порядке

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()
Возвращает представление view этой коллекции с обратным порядком. Порядок обхода элементов в возвращаемом представлении противоположен порядку обхода элементов в этой коллекции. Обратный порядок влияет на все операции, зависящие от порядка, в том числе на операции над коллекциями-представлениями возвращенного представления. Если реализация коллекции допускает изменение этого представления, изменения «передаются» исходной коллекции. В зависимости от реализации изменения исходной коллекции могут быть видны или не видны в этом представлении с обратным порядком.

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/CopyOnWriteArrayList.html

Spec-Zone.ru

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