Spec-Zone.ru › OpenJDK 24

Класс 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 этого класса, являются быстродействующими: если список структурно модифицируется в любой момент после создания итератора, любым способом, кроме методов итератора remove или add, итератор выбросит исключение ConcurrentModificationException. Таким образом, при одновременной модификации итератор быстро и четко завершает работу, а не рискует произвольным недетерминированным поведением в неопределенное время в будущем.

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

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

С момента:
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 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()
Создаёт отложенную и быстродействующую 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, 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()
Уменьшает ёмкость этого экземпляра списка до его текущего размера. Приложение может использовать эту операцию, чтобы минимизировать хранение экземпляра списка.

ensureCapacity

public void ensureCapacity(int minCapacity)
Увеличивает ёмкость этого экземпляра списка, если необходимо, чтобы он мог содержать как минимум количество элементов, указанное аргументом минимальной ёмкости.
Параметры:
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()
Возвращает поверхностную копию этого экземпляра списка. (Элементы сами не копируются.)
Переопределяет:
clone в классе Object
Возвращает:
клонированный экземпляр этого списка
См. также:
  • 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. (Это полезно для определения длины списка только в том случае, если вызывающая сторона знает, что список не содержит никаких нулевых элементов.)

Определено в:
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)
Заменяет элемент в указанной позиции в этом списке заданным элементом.
Specified by:
set in interface List<E>
Overrides:
set in class AbstractList<E>
Parameters:
index - индекс элемента для замены
element - элемент, который будет сохранён в указанной позиции
Returns:
элемент, который ранее находился в указанной позиции
Throws:
IndexOutOfBoundsException - если индекс находится вне диапазона (index < 0 || index >= size())

add

public boolean add(E e)
Добавляет указанный элемент в конец этого списка.
Specified by:
add in interface Collection<E>
Specified by:
add in interface List<E>
Overrides:
add in class AbstractList<E>
Parameters:
e - элемент, который нужно добавить в этот список
Returns:
true (как указано в Collection.add(E))

add

public void add(int index, E element)
Вставляет указанный элемент в указанную позицию в этом списке. Сдвигает текущий элемент в этой позиции (если есть) и все последующие элементы вправо (увеличивает их индексы на единицу).
Specified by:
add in interface List<E>
Overrides:
add in class AbstractList<E>
Parameters:
index - индекс, в который нужно вставить указанный элемент
element - элемент, который нужно вставить
Throws:
IndexOutOfBoundsException - если индекс находится вне диапазона (index < 0 || index > size())

addFirst

public void addFirst(E element)
Добавляет элемент как первый элемент этой коллекции (необязательная операция). После нормального завершения этой операции заданный элемент будет членом этой коллекции, и он будет первым элементом в порядке следования.
Specified by:
addFirst in interface List<E>
Specified by:
addFirst in interface SequencedCollection<E>
Parameters:
element - добавляемый элемент
Since:
21

addLast

public void addLast(E element)
Добавляет элемент в качестве последнего элемента этой коллекции (необязательная операция). После нормального завершения этой операции заданный элемент будет членом этой коллекции, и он будет последним элементом в порядке следования.
Specified by:
addLast in interface List<E>
Specified by:
addLast in interface SequencedCollection<E>
Parameters:
element - добавляемый элемент.
Since:
21

remove

public E remove(int index)
Удаляет элемент в указанной позиции в этом списке. Сдвигает все последующие элементы влево (уменьшает их индексы на единицу).
Specified by:
remove in interface List<E>
Overrides:
remove in class AbstractList<E>
Parameters:
index - индекс удаляемого элемента
Returns:
удаленный элемент из списка
Throws:
IndexOutOfBoundsException - если индекс находится вне диапазона (index < 0 || index >= size())

removeFirst

public E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
Specified by:
removeFirst in interface List<E>
Specified by:
removeFirst in interface SequencedCollection<E>
Returns:
удаленный элемент
Throws:
NoSuchElementException - если коллекция пуста
Since:
21

removeLast

public E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
Specified by:
removeLast in interface List<E>
Specified by:
removeLast in interface SequencedCollection<E>
Returns:
удаленный элемент
Throws:
NoSuchElementException - если коллекция пуста
Since:
21

equals

public boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство. Возвращает true тогда и только тогда, когда указанный объект также является списком, оба списка имеют одинаковый размер и все соответствующие пары элементов в двух списках равны. (Два элемента e1 и e2 равны, если (e1==null ? e2==null : e1.equals(e2)).) Другими словами, два списка определяются как равные, если они содержат одинаковые элементы в том же порядке.
Specified by:
equals in interface Collection<E>
Specified by:
equals in interface List<E>
Overrides:
equals in class AbstractList<E>
Parameters:
o - объект, который нужно сравнить на равенство с этим списком
Returns:
true если указанный объект равен этому списку
See Also:
  • Object.equals(Object)
  • Set.equals(Object)
  • List.equals(Object)

hashCode

public int hashCode()
Возвращает значение хэш-кода для этого списка.
Specified by:
hashCode in interface Collection<E>
Specified by:
hashCode in interface List<E>
Overrides:
hashCode in class AbstractList<E>
Returns:
значение хэш-кода для этого списка
See Also:
  • Object.hashCode()
  • Object.equals(Object)

remove

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

clear

public void clear()
Удаляет все элементы из этого списка. Список будет пустым после возвращения этого вызова.
Specified by:
clear in interface Collection<E>
Specified by:
clear in interface List<E>
Overrides:
clear in class AbstractList<E>

addAll

public boolean addAll(Collection<? extends E> c)
Добавляет все элементы из указанной коллекции в конец этого списка в порядке, в котором они возвращаются итератором указанной коллекции. Поведение этой операции не определено, если указанная коллекция изменяется во время выполнения операции. (Это подразумевает, что поведение этого вызова не определено, если указанная коллекция является этим списком, и этот список не пустой.)
Specified by:
addAll in interface Collection<E>
Specified by:
addAll in interface List<E>
Overrides:
addAll in class AbstractCollection<E>
Parameters:
c - коллекция, содержащая элементы, которые нужно добавить в этот список
Returns:
true если этот список изменился в результате вызова
Throws:
NullPointerException - если указанная коллекция имеет значение null
See Also:
  • AbstractCollection.add(Object)

addAll

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

removeRange

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

removeAll

public boolean removeAll(Collection<?> c)
Удаляет из этого списка все его элементы, содержащиеся в указанном наборе.
Specified by:
removeAll in interface Collection<E>
Specified by:
removeAll in interface List<E>
Overrides:
removeAll in class AbstractCollection<E>
Parameters:
c - набор, содержащий элементы, которые нужно удалить из этого списка
Returns:
true, если этот список изменился в результате вызова
Throws:
ClassCastException - если класс элемента этого списка несовместим с указанным набором (необязательное)
NullPointerException - если этот список содержит null-элемент, а указанный набор не допускает null-элементов (необязательное), или если указанный набор равен null
See Also:
  • Collection.contains(Object)

retainAll

public boolean retainAll(Collection<?> c)
Оставляет только элементы из этого списка, которые содержатся в указанном наборе. Другими словами, удаляет из этого списка все элементы, которые не содержатся в указанном наборе.
Specified by:
retainAll in interface Collection<E>
Specified by:
retainAll in interface List<E>
Overrides:
retainAll in class AbstractCollection<E>
Parameters:
c - набор, содержащий элементы, которые нужно оставить в этом списке
Returns:
true, если этот список изменился в результате вызова
Throws:
ClassCastException - если класс элемента этого списка несовместим с указанным набором (необязательное)
NullPointerException - если этот список содержит null-элемент, а указанный набор не допускает null-элементов (необязательное), или если указанный набор равен null
See Also:
  • Collection.contains(Object)

listIterator

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

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

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

listIterator

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

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

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

iterator

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

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

Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface List<E>
Overrides:
iterator in class 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 in interface List<E>
Overrides:
subList in class 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 in interface 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/ArrayList.html

Spec-Zone.ru

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