Spec-Zone.ru › OpenJDK 27

Класс AbstractList<E>

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

Чтобы реализовать неизменяемый список, программисту достаточно расширить этот класс и предоставить реализации методов get(int) и size().

Чтобы реализовать изменяемый список, программист должен дополнительно переопределить метод set(int, E) (который в противном случае выбрасывает исключение UnsupportedOperationException). Если размер списка может изменяться, программист должен дополнительно переопределить методы add(int, E) и remove(int).

Как правило, программисту следует предоставить конструктор без аргументов и конструктор, принимающий коллекцию, согласно рекомендации в спецификации интерфейса Collection.

В отличие от других абстрактных реализаций коллекций, программисту не нужно предоставлять реализацию итератора; итератор и итератор списка реализованы в этом классе на основе методов произвольного доступа: get(int), set(int, E), add(int, E) и remove(int).

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

Этот класс является частью Java Collections Framework.

Начиная с версии:
1.2

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

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

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

AbstractList()
Модификатор Конструктор Описание
protected
Единственный конструктор.

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

Модификатор и тип Метод Описание
void add(int index, E element)
Вставляет указанный элемент в указанную позицию этого списка (необязательная операция).
boolean add(E e)
Добавляет указанный элемент в конец этого списка (необязательная операция).
boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции (необязательная операция).
void clear()
Удаляет все элементы из этого списка (необязательная операция).
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
abstract E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.
int hashCode()
Возвращает значение хеш-кода для этого списка.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этот список или -1, если список не содержит этот элемент.
Iterator<E> iterator()
Возвращает итератор по элементам этого списка в правильном порядке.
int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этот список или -1, если список не содержит этот элемент.
ListIterator<E> listIterator()
Возвращает итератор списка по элементам этого списка (в правильном порядке).
ListIterator<E> listIterator(int index)
Возвращает итератор списка по элементам этого списка (в правильном порядке), начиная с указанной позиции в списке.
E remove(int index)
Удаляет элемент, находящийся в указанной позиции этого списка (необязательная операция).
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex исключительно.
E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом (необязательная операция).
List<E> subList(int fromIndex, int toIndex)
Возвращает представление части этого списка между указанными fromIndex включительно и toIndex исключительно.

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

addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
Модификатор и тип Метод Описание
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в эту коллекцию (необязательная операция).
boolean contains(Object o)
Возвращает true, если эта коллекция содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
boolean isEmpty()
Возвращает true, если эта коллекция не содержит элементов.
boolean remove(Object o)
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательная операция).
boolean removeAll(Collection<?> c)
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция).
Object[] toArray()
Возвращает массив, содержащий все элементы этой коллекции.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этой коллекции; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.
String toString()
Возвращает строковое представление этой коллекции.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного промежутка реального времени.

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

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

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

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

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

addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, size, sort, spliterator, toArray, toArray
Модификатор и тип Метод Описание
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этого списка в том порядке, в котором их возвращает итератор указанной коллекции (необязательная операция).
default void addFirst(E e)
Добавляет элемент в начало этой коллекции (необязательная операция).
default void addLast(E e)
Добавляет элемент в конец этой коллекции (необязательная операция).
boolean contains(Object o)
Возвращает true, если этот список содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если этот список содержит все элементы указанной коллекции.
default E getFirst()
Возвращает первый элемент этой коллекции.
default E getLast()
Возвращает последний элемент этой коллекции.
boolean isEmpty()
Возвращает true, если этот список не содержит элементов.
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этого списка, если оно присутствует (необязательная операция).
boolean removeAll(Collection<?> c)
Удаляет из этого списка все элементы, содержащиеся в указанной коллекции (необязательная операция).
default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
default void replaceAll(UnaryOperator<E> operator)
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом списке только элементы, содержащиеся в указанной коллекции (необязательная операция).
default List<E> reversed()
Возвращает представление этой коллекции в обратном порядке.
int size()
Возвращает количество элементов в этом списке.
default void sort(Comparator<? super E> c)
Сортирует этот список в соответствии с порядком, задаваемым указанным Comparator (необязательная операция).
default Spliterator<E> spliterator()
Создает Spliterator для элементов этого списка.
Object[] toArray()
Возвращает массив, содержащий все элементы этого списка в правильном порядке (от первого до последнего элемента).
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого списка в правильном порядке (от первого до последнего элемента); тип возвращаемого массива во время выполнения совпадает с типом указанного массива.

Подробное описание полей

modCount

protected transient int modCount
Количество раз, которое этот список был структурно изменён. Структурными изменениями считаются изменения, которые меняют размер списка или иным образом нарушают его структуру так, что выполняющиеся итерации могут давать некорректные результаты.

Это поле используется реализациями итератора и итератора списка, возвращаемыми методами iterator и listIterator. Если значение этого поля неожиданно изменится, итератор (или итератор списка) выбросит ConcurrentModificationException в ответ на операции next, remove, previous, set или add. Это обеспечивает поведение fail-fast, а не недетерминированное поведение при параллельном изменении во время итерации.

Использование этого поля подклассами необязательно. Если подкласс желает предоставить итераторы (и итераторы списка) с поведением fail-fast, ему достаточно увеличивать это поле в методах add(int, E) и remove(int) (а также в любых других переопределённых методах, приводящих к структурным изменениям списка). Один вызов add(int, E) или remove(int) должен увеличивать значение этого поля не более чем на единицу, иначе итераторы (и итераторы списка) будут выбрасывать ложные ConcurrentModificationExceptions. Если реализация не желает предоставлять итераторы с поведением fail-fast, это поле можно игнорировать.

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

AbstractList

protected AbstractList()
Единственный конструктор. (Предназначен для вызова конструкторами подклассов, обычно неявно.)

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

add

public boolean add(E e)
Добавляет указанный элемент в конец этого списка (необязательная операция).

Списки, поддерживающие эту операцию, могут накладывать ограничения на элементы, которые можно добавить в список. В частности, некоторые списки не допускают добавления элементов null, а другие ограничивают тип добавляемых элементов. В документации классов списков следует чётко указывать любые ограничения на добавляемые элементы.

Определён в:
add в интерфейсе Collection<E>
Определён в:
add в интерфейсе List<E>
Переопределяет:
add в классе AbstractCollection<E>
Требования к реализации:
Эта реализация вызывает add(size(), e).

Обратите внимание: эта реализация выбрасывает UnsupportedOperationException, если не переопределён метод add(int, E).

Параметры:
e — элемент, добавляемый в конец этого списка
Возвращает:
true (как указано в Collection.add(E))
Исключения:
UnsupportedOperationException — если эта операция add не поддерживается данным списком
ClassCastException — если класс указанного элемента не позволяет добавить его в этот список
NullPointerException — если указанный элемент равен null, а этот список не допускает элементы null
IllegalArgumentException — если какое-либо свойство этого элемента не позволяет добавить его в этот список

get

public abstract E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.
Определён в:
get в интерфейсе List<E>
Параметры:
index — индекс возвращаемого элемента
Возвращает:
элемент, находящийся в указанной позиции этого списка
Исключения:
IndexOutOfBoundsException — если индекс выходит за допустимые границы (index < 0 || index >= size())

set

public E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом (необязательная операция).
Определён в:
set в интерфейсе List<E>
Требования к реализации:
Эта реализация всегда выбрасывает UnsupportedOperationException.
Параметры:
index — индекс заменяемого элемента
element — элемент, который будет сохранён в указанной позиции
Возвращает:
элемент, ранее находившийся в указанной позиции
Исключения:
UnsupportedOperationException — если эта операция set не поддерживается данным списком
ClassCastException — если класс указанного элемента не позволяет добавить его в этот список
NullPointerException — если указанный элемент равен null, а этот список не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в этот список
IndexOutOfBoundsException — если индекс выходит за допустимые границы (index < 0 || index >= size())

add

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

remove

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

indexOf

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

lastIndexOf

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

clear

public void clear()
Удаляет все элементы из этого списка (необязательная операция). После возврата этого вызова список будет пуст.
Определён в:
clear в интерфейсе Collection<E>
Определён в:
clear в интерфейсе List<E>
Переопределяет:
clear в классе AbstractCollection<E>
Требования к реализации:
Эта реализация вызывает removeRange(0, size()).

Обратите внимание: эта реализация выбрасывает UnsupportedOperationException, если не переопределён метод remove(int index) или removeRange(int fromIndex, int toIndex).

Исключения:
UnsupportedOperationException — если эта операция clear не поддерживается данным списком

addAll

public boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции (необязательная операция). Сдвигает элемент, находящийся в этой позиции (если он есть), и все последующие элементы вправо (увеличивая их индексы). Новые элементы будут расположены в этом списке в том порядке, в котором их возвращает итератор указанной коллекции. Поведение этой операции не определено, если указанная коллекция изменяется во время выполнения операции. (Обратите внимание: это произойдёт, если указанная коллекция — этот список и он не пуст.)
Определён в:
addAll в интерфейсе List<E>
Требования к реализации:
Эта реализация получает итератор указанной коллекции и выполняет по нему итерацию, вставляя полученные элементы в этот список в соответствующую позицию по одному с помощью add(int, E). Многие реализации переопределяют этот метод для повышения эффективности.

Обратите внимание: эта реализация выбрасывает UnsupportedOperationException, если не переопределён метод add(int, E).

Параметры:
index — позиция, в которую следует вставить первый элемент указанной коллекции
c — коллекция, содержащая элементы для добавления в этот список
Возвращает:
true, если в результате вызова этот список изменился
Исключения:
UnsupportedOperationException — если эта операция addAll не поддерживается данным списком
ClassCastException — если класс элемента указанной коллекции не позволяет добавить его в этот список
NullPointerException — если указанная коллекция содержит один или несколько элементов null, а этот список не допускает элементы null, либо если указанная коллекция равна null
IllegalArgumentException — если какое-либо свойство элемента указанной коллекции не позволяет добавить его в этот список
IndexOutOfBoundsException — если индекс выходит за допустимые границы (index < 0 || index > size())

iterator

public Iterator<E> iterator()
Возвращает итератор элементов этого списка в правильном порядке.
Определён в:
iterator в интерфейсе Collection<E>
Определён в:
iterator в интерфейсе Iterable<E>
Определён в:
iterator в интерфейсе List<E>
Определён в:
iterator в классе AbstractCollection<E>
Требования к реализации:
Эта реализация возвращает простую реализацию интерфейса итератора, использующую методы size(), get(int) и remove(int) списка-основы.

Обратите внимание: итератор, возвращаемый этим методом, выбрасывает UnsupportedOperationException в ответ на вызов своего метода remove, если метод remove(int) списка не переопределён.

Эту реализацию можно настроить так, чтобы она выбрасывала исключения времени выполнения при параллельном изменении, как описано в спецификации поля modCount (protected).

Возвращает:
итератор элементов этого списка в правильном порядке

listIterator

public ListIterator<E> listIterator()
Возвращает итератор списка для элементов этого списка (в правильном порядке).
Определён в:
listIterator в интерфейсе List<E>
Требования к реализации:
Эта реализация возвращает listIterator(0).
Возвращает:
итератор списка для элементов этого списка (в правильном порядке)
См. также:
  • listIterator(int)

listIterator

public ListIterator<E> listIterator(int index)
Возвращает итератор списка для элементов этого списка (в правильном порядке), начиная с указанной позиции. Указанный индекс обозначает первый элемент, который будет возвращён при первоначальном вызове next. При первоначальном вызове previous будет возвращён элемент с индексом, на единицу меньшим указанного.
Определён в:
listIterator в интерфейсе List<E>
Требования к реализации:
Эта реализация возвращает простую реализацию интерфейса ListIterator, расширяющую реализацию интерфейса Iterator, возвращаемую методом iterator(). Реализация ListIterator использует методы get(int), set(int, E), add(int, E) и remove(int) списка-основы.

Обратите внимание: итератор списка, возвращаемый этой реализацией, выбрасывает UnsupportedOperationException в ответ на вызовы методов remove, set и add, если методы remove(int), set(int, E) и add(int, E) списка не переопределены.

Эту реализацию можно настроить так, чтобы она выбрасывала исключения времени выполнения при параллельном изменении, как описано в спецификации поля modCount (protected).

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

subList

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

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

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

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

Определён в:
subList в интерфейсе List<E>
Требования к реализации:
Эта реализация возвращает список, являющийся подклассом AbstractList. Подкласс хранит в закрытых полях размер subList (который может меняться в течение срока его существования) и ожидаемое значение modCount списка-основы. Существует два варианта подкласса, один из которых реализует RandomAccess. Если этот список реализует RandomAccess, возвращаемый список будет экземпляром подкласса, реализующего RandomAccess.

Методы подкласса set(int, E), get(int), add(int, E), remove(int), addAll(int, Collection) и removeRange(int, int) делегируют вызовы соответствующим методам абстрактного списка-основы после проверки индекса на выход за границы и корректировки с учётом смещения. Метод addAll(Collection c) лишь возвращает addAll(size, c).

Метод listIterator(int) возвращает «объект-обёртку» над итератором списка-основы, созданным соответствующим методом списка-основы. Метод iterator лишь возвращает listIterator(), а метод size лишь возвращает поле size подкласса.

Все методы сначала проверяют, равно ли фактическое значение modCount списка-основы ожидаемому, и выбрасывают ConcurrentModificationException, если значения не равны.

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

equals

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

hashCode

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

removeRange

protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex исключительно. Сдвигает все последующие элементы влево (уменьшая их индексы). Этот вызов сокращает список на (toIndex - fromIndex) элементов. (Если toIndex==fromIndex, операция не оказывает никакого эффекта.)

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

Требования к реализации:
Эта реализация получает итератор списка, расположенный перед fromIndex, и многократно вызывает ListIterator.next, а затем ListIterator.remove, пока весь диапазон не будет удалён. Примечание: если ListIterator.remove требует линейного времени, эта реализация требует квадратичного времени.
Параметры:
fromIndex — индекс первого удаляемого элемента
toIndex — индекс, следующий за последним удаляемым элементом

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными решениями и рабочими примерами кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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