Spec-Zone.ru › OpenJDK 27

Класс ArrayList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.ArrayList<E>
Параметры типа:
E - тип элементов этого списка
Все реализуемые интерфейсы:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, SequencedCollection<E>
Прямые известные подклассы:
AttributeList, RoleList, RoleUnresolvedList
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable
Реализация интерфейса List на основе массива с изменяемым размером. Реализует все необязательные операции со списками и допускает любые элементы, включая null. Помимо реализации интерфейса List, этот класс предоставляет методы для управления размером массива, используемого внутри для хранения списка. (Этот класс примерно эквивалентен Vector, но не синхронизирован.)

Операции size, isEmpty, get, set, getFirst, getLast, removeLast, iterator, listIterator и reversed выполняются за постоянное время. Операции add и addLast выполняются за амортизированное постоянное время, то есть добавление n элементов требует времени O(n). Все остальные операции выполняются за линейное время (в общих чертах). Коэффициент константы мал по сравнению с реализацией LinkedList.

Каждый экземпляр ArrayList имеет ёмкость. Ёмкость — это размер массива, используемого для хранения элементов списка. Она всегда не меньше размера списка. По мере добавления элементов в ArrayList его ёмкость автоматически увеличивается. Подробности политики увеличения размера не определены, за исключением того, что добавление элемента требует амортизированного постоянного времени.

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

Обратите внимание, что эта реализация не синхронизирована. Если несколько потоков одновременно обращаются к экземпляру ArrayList и хотя бы один из потоков структурно изменяет список, доступ должен синхронизироваться извне. (Структурным изменением считается любая операция, добавляющая или удаляющая один или несколько элементов либо явно изменяющая размер базового массива; простое изменение значения элемента структурным изменением не является.) Обычно для этого синхронизируют некоторый объект, который естественным образом содержит список. Если такого объекта нет, список следует «обернуть» с помощью метода Collections.synchronizedList. Лучше всего сделать это при создании, чтобы предотвратить случайный несинхронизированный доступ к списку:

  List list = Collections.synchronizedList(new ArrayList(...));

Итераторы, возвращаемые методами iterator и listIterator этого класса, являются fail-fast: если после создания итератора список каким-либо образом структурно изменяется, кроме как с помощью собственных методов итератора remove или add, итератор выбрасывает исключение ConcurrentModificationException. Таким образом, при параллельном изменении итератор быстро и корректно завершается, а не подвергается риску произвольного, недетерминированного поведения в неопределённый момент в будущем.

Обратите внимание, что поведение итератора fail-fast не может быть гарантировано, поскольку, вообще говоря, невозможно дать строгие гарантии при несинхронизированном параллельном изменении. Итераторы fail-fast выбрасывают ConcurrentModificationException по возможности. Поэтому было бы неправильно писать программу, корректность которой зависит от этого исключения: поведение итераторов fail-fast следует использовать только для обнаружения ошибок.

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

Начиная с версии:
1.2
См. также:
  • Collection
  • List
  • LinkedList
  • Vector
  • Сериализованная форма

Краткое описание полей

Поля, объявленные в классе AbstractList

modCount
Модификатор и тип Поле Описание
protected int modCount
Количество структурных изменений этого списка.

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

Конструктор Описание
ArrayList()
Создаёт пустой список с начальной ёмкостью десять.
ArrayList(int initialCapacity)
Создаёт пустой список с указанной начальной ёмкостью.
ArrayList(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)
Добавляет все элементы указанной коллекции в конец этого списка в том порядке, в котором их возвращает Iterator указанной коллекции.
void addFirst(E element)
Добавляет элемент в начало этой коллекции (необязательная операция).
void addLast(E element)
Добавляет элемент в конец этой коллекции (необязательная операция).
void clear()
Удаляет все элементы из этого списка.
Object clone()
Возвращает поверхностную копию этого экземпляра ArrayList.
boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент.
void ensureCapacity(int minCapacity)
При необходимости увеличивает ёмкость этого экземпляра ArrayList, чтобы он мог вместить как минимум количество элементов, заданное аргументом минимальной ёмкости.
void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока все элементы не будут обработаны или действие не выбросит исключение.
E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.
E getFirst()
Возвращает первый элемент этой коллекции.
E getLast()
Возвращает последний элемент этой коллекции.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этом списке или -1, если список не содержит этот элемент.
boolean isEmpty()
Возвращает true, если этот список не содержит элементов.
Iterator<E> iterator()
Возвращает итератор элементов этого списка в надлежащем порядке.
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()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex не включительно.
boolean retainAll(Collection<?> c)
Оставляет в этом списке только элементы, содержащиеся в указанной коллекции.
E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом.
int size()
Возвращает количество элементов в этом списке.
Spliterator<E> spliterator()
Создаёт привязываемый с задержкой и fail-fast Spliterator для элементов этого списка.
List<E> subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между fromIndex включительно и toIndex не включительно.
Object[] toArray()
Возвращает массив, содержащий все элементы этого списка в надлежащем порядке (от первого элемента до последнего).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого списка в надлежащем порядке (от первого элемента до последнего); тип возвращаемого массива во время выполнения совпадает с типом указанного массива.
void trimToSize()
Уменьшает ёмкость этого экземпляра ArrayList до текущего размера списка.

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

equals, hashCode
Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
int hashCode()
Возвращает значение хеш-кода этого списка.

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

containsAll, toString
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
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

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

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

ArrayList

public ArrayList(int initialCapacity)
Создает пустой список с указанной начальной емкостью.
Параметры:
initialCapacity — начальная емкость списка
Вызывает исключение:
IllegalArgumentException — если указанная начальная емкость отрицательна

ArrayList

public ArrayList()
Создает пустой список с начальной емкостью десять.

ArrayList

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

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

trimToSize

public void trimToSize()
Уменьшает емкость этого экземпляра ArrayList до текущего размера списка. Приложение может использовать эту операцию, чтобы минимизировать объем памяти, занимаемой экземпляром ArrayList.

ensureCapacity

public void ensureCapacity(int minCapacity)
При необходимости увеличивает емкость этого экземпляра ArrayList, чтобы гарантировать возможность хранения как минимум количества элементов, указанного аргументом минимальной емкости.
Параметры:
minCapacity — требуемая минимальная емкость

size

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

isEmpty

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

contains

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

indexOf

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

lastIndexOf

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

clone

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

toArray

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

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

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

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

toArray

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

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

Определено в:
toArray в интерфейсе Collection<E>
Определено в:
toArray в интерфейсе List<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Параметры типа:
T — тип компонентов массива, в котором будет храниться коллекция
Параметры:
a — массив, в который будут помещены элементы списка, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа во время выполнения.
Возвращает:
массив, содержащий элементы списка
Вызывает исключение:
ArrayStoreException — если тип указанного массива во время выполнения не является супертипом типа во время выполнения каждого элемента этого списка
NullPointerException — если указанный массив равен null

get

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

add

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

add

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

addFirst

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

addLast

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

remove

public E remove(int index)
Удаляет элемент, находящийся в указанной позиции этого списка. Сдвигает все последующие элементы влево (уменьшает их индексы на единицу).
Определено в:
remove в интерфейсе List<E>
Переопределяет:
remove в классе AbstractList<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>
Переопределяет:
remove в классе AbstractCollection<E>
Параметры:
o — элемент, который нужно удалить из этого списка, если он присутствует
Возвращает:
true, если этот список содержал указанный элемент

clear

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

addAll

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

addAll

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

removeRange

protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex исключительно. Сдвигает все последующие элементы влево (уменьшает их индексы). Этот вызов сокращает список на (toIndex - fromIndex) элементов. (Если toIndex==fromIndex, операция не оказывает эффекта.)
Переопределяет:
removeRange в классе AbstractList<E>
Параметры:
fromIndex — индекс первого удаляемого элемента
toIndex — индекс, следующий за последним удаляемым элементом
Вызывает исключение:
IndexOutOfBoundsException — если fromIndex или toIndex выходит за пределы допустимого диапазона (fromIndex < 0 || toIndex > size() || toIndex < fromIndex)

removeAll

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

retainAll

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

listIterator

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

Возвращаемый итератор списка является быстро завершающимся при изменении.

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

listIterator

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

Возвращаемый итератор списка является быстро завершающимся при изменении.

Определено в:
listIterator в интерфейсе List<E>
Переопределяет:
listIterator в классе AbstractList<E>
Возвращает:
итератор списка для элементов этого списка (в правильном порядке)
См. также:
  • listIterator(int)

iterator

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

Возвращаемый итератор является быстро завершающимся при изменении.

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

subList

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

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

     list.subList(from, to).clear();
Аналогичные шаблоны можно составить для методов indexOf(Object) и lastIndexOf(Object), а все алгоритмы класса Collections можно применять к subList.

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

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

forEach

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

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

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

spliterator

public Spliterator<E> spliterator()
Создает связывающийся при обращении и fail-fast Spliterator для элементов этого списка.

Spliterator сообщает о характеристиках Spliterator.SIZED, Spliterator.SUBSIZED и Spliterator.ORDERED. Переопределяющие реализации должны документировать наличие дополнительных значений характеристик.

Определено в:
spliterator в интерфейсе Collection<E>
Определено в:
spliterator в интерфейсе Iterable<E>
Определено в:
spliterator в интерфейсе List<E>
Возвращает:
объект Spliterator для элементов этого списка
Начиная с версии:
1.8

removeIf

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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