Spec-Zone.ru › OpenJDK 21

Класс 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, 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, 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()
Создаёт пустой список с начальной ёмкостью 10.
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()
Уменьшает ёмкость этого экземпляра 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, если и только если этот список содержит по крайней мере один элемент, такой что.
Определено в:
contains в интерфейсе Collection<E>
Определено в:
contains в интерфейсе List<E>
Переопределяет:
contains в классе AbstractCollection<E>
Параметры:
o - элемент, присутствие которого в этом списке необходимо проверить
Возвращает:
true, если этот список содержит указанный элемент

indexOf

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

lastIndexOf

public int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этот список, или -1, если этот список не содержит элемент. Более формально, возвращает наивысший индекс, такой что, или -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. (Это полезно для определения длины списка *только* если вызывающий метод знает, что список не содержит каких-либо нулевых элементов.)

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

добавить

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

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

удалить

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.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, эта операция не оказывает никакого эффекта.)
Overrides:
removeRange в классе AbstractList<E>
Parameters:
fromIndex - индекс первого удаляемого элемента
toIndex - индекс после последнего удаляемого элемента
Throws:
IndexOutOfBoundsException - если fromIndex или toIndex выходят за пределы допустимого диапазона (fromIndex < 0 || toIndex > size() || toIndex < fromIndex)

removeAll

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

retainAll

public boolean retainAll(Collection<?> c)
Оставляет в этом списке только те элементы, которые содержатся в указанном наборе. Другими словами, удаляет из этого списка все элементы, которые не содержатся в указанном наборе.
Specified by:
retainAll в интерфейсе Collection<E>
Specified by:
retainAll в интерфейсе List<E>
Overrides:
retainAll в классе AbstractCollection<E>
Parameters:
c - набор элементов, которые должны остаться в этом списке
Returns:
true если список был изменён в результате вызова
Throws:
ClassCastException - если класс элемента этого списка несовместим с указанным набором (необязательно)
NullPointerException - если этот список содержит нулевой элемент, а указанный набор не допускает нулевых элементов (необязательно), или если указанный набор равен null
See Also:
  • 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 равны, возвращаемый список пуст.) Возвращаемый список поддерживается этим списком, поэтому неструктурные изменения в возвращаемом списке отражаются в этом списке и наоборот. Возвращаемый список поддерживает все необязательные операции со списками.

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

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

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

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
Удаляет все элементы из этого набора, удовлетворяющие заданному предикату. Ошибки или исключения времени выполнения, сгенерированные во время итерации или предикатом, передаются вызывающему методу.
Определено в:
removeIf в интерфейсе Collection<E>
Параметры:
filter - предикат, возвращающий true для элементов, которые нужно удалить
Возвращает:
true если какие-либо элементы были удалены
Выбрасывает:
NullPointerException - если указанный фильтр равен null

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

Spec-Zone.ru

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