Spec-Zone.ru › OpenJDK 27

Класс 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, происходят раньше действий, следующих за обращением к этому элементу или его удалением из CopyOnWriteArrayList в другом потоке.

Этот класс является частью фреймворка коллекций Java.

Начиная с версии:
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
Модификатор и тип Метод Описание
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс этого Object во время выполнения.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определённого промежутка реального времени.

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

parallelStream, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

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

replaceAll, sort
Модификатор и тип Метод Описание
default void replaceAll(UnaryOperator<E> operator)
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция).
default void sort(Comparator<? super E> c)
Сортирует этот список в соответствии с порядком, задаваемым указанным Comparator (необязательная операция).

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

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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