Spec-Zone.ru › OpenJDK 17

Класс ArrayList<E>

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

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

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

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

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

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

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

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

Этот класс является членом Java Collections Framework.

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

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

Поля, объявленные в классе java.util.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 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)
Возвращает элемент в указанной позиции в этом списке.
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)
Удаляет из этого списка все его элементы, которые содержатся в указанном наборе.
boolean removeIf(Predicate<? super E> filter)
Удаляет из этого списка все элементы, которые удовлетворяют заданному предикату.
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы, индекс которых находится между fromIndex, включительно, и toIndex, исключая.
boolean retainAll(Collection<?> c)
Оставляет в этом списке только элементы, которые содержатся в указанном наборе.
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)
Возвращает массив, содержащий все элементы в этом списке в правильной последовательности (с первого по последний элемент); тип возвращаемого массива — тип указанного массива.
void trimToSize()
Уменьшает ёмкость этого ArrayList экземпляра до текущего размера списка.

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

equals, hashCode

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

containsAll, toString

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

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

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

parallelStream, stream, toArray

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

containsAll, replaceAll, 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, основанными на массивах и коллекциях.

Определено в:
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())

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))

добавить

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

удалить

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

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.hashCode()
  • HashMap

hashCode

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

удалить

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

очистить

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 вернёт элемент с указанным индексом минус один.

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

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

listIterator

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

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

Specified by:
listIterator в интерфейсе List<E>
Overrides:
listIterator в классе AbstractList<E>
Returns:
итератор списка над элементами в этом списке (в правильной последовательности)
See Also:
  • listIterator(int)

iterator

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

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

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

subList

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

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

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

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

Specified by:
subList в интерфейсе List<E>
Overrides:
subList в классе AbstractList<E>
Parameters:
fromIndex - нижняя граница (включая) подсписка
toIndex - верхняя граница (не включая) подсписка
Returns:
представление указанного диапазона в этом списке
Throws:
IndexOutOfBoundsException - если индекс конечной точки выходит за пределы диапазона (fromIndex < 0 || toIndex > size)
IllegalArgumentException - если индексы конечных точек расположены в обратном порядке (fromIndex > toIndex)

forEach

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

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

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

spliterator

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

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

Specified by:
spliterator в интерфейсе Collection<E>
Specified by:
spliterator в интерфейсе Iterable<E>
Specified by:
spliterator в интерфейсе List<E>
Returns:
Spliterator над элементами в этом списке
Since:
1.8

removeIf

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

© 1993, 2021, 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/17/docs/api/java.base/java/util/ArrayList.html

Spec-Zone.ru

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