Spec-Zone.ru › OpenJDK 25

Класс 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 Collections Framework.

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

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

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

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)
Добавляет все элементы указанной коллекции в конец этого списка в порядке их возвращения итератором указанной коллекции.
void addFirst(E element)
Добавляет элемент в начало этой коллекции (необязательная операция).
void addLast(E element)
Добавляет элемент в конец этой коллекции (необязательная операция).
void clear()
Удаляет все элементы из этого списка.
Object clone()
Возвращает поверхностную копию этого экземпляра ArrayList.
boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент.
void ensureCapacity(int minCapacity)
При необходимости увеличивает емкость этого экземпляра ArrayList, чтобы он мог вместить не меньше элементов, чем указано аргументом минимальной емкости.
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение.
E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.
E getFirst()
Возвращает первый элемент этой коллекции.
E getLast()
Возвращает последний элемент этой коллекции.
int hashCode()
Возвращает значение хеш-кода этого списка.
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

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

containsAll, toString

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

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

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

parallelStream, stream, toArray

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

containsAll, replaceAll, reversed, sort

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

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

equals

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

hashCode

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

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

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

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

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

Определено в:
subList в интерфейсе List<E>
Переопределяет:
subList в классе AbstractList<E>
Параметры:
fromIndex — нижняя граница подсписка (включительно)
toIndex — верхняя граница подсписка (исключительно)
Возвращает:
представление указанного диапазона в этом списке
Исключения:
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, 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/ArrayList.html

Spec-Zone.ru

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