Spec-Zone.ru › OpenJDK 27

Класс AbstractSequentialList<E>

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

Этот класс противоположен классу AbstractList в том смысле, что он реализует методы «произвольного доступа» (get(int index), set(int index, E element), add(int index, E element) и remove(int index)) поверх итератора списка, а не наоборот.

Чтобы реализовать список, программисту достаточно расширить этот класс и предоставить реализации методов listIterator и size. Для немодифицируемого списка программисту достаточно реализовать методы итератора списка hasNext, next, hasPrevious, previous и index.

Для модифицируемого списка программисту следует дополнительно реализовать метод итератора списка set. Для списка переменного размера программисту следует дополнительно реализовать методы итератора списка remove и add.

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

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

С момента выпуска:
1.2
См. также:
  • Collection
  • List
  • AbstractList
  • AbstractCollection

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

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

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

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

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

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

Модификатор и тип Метод Описание
void add(int index, E element)
Вставляет указанный элемент в указанную позицию этого списка (необязательная операция).
boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции (необязательная операция).
E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.
Iterator<E> iterator()
Возвращает итератор элементов этого списка (в правильной последовательности).
abstract ListIterator<E> listIterator(int index)
Возвращает итератор списка для элементов этого списка (в правильной последовательности).
E remove(int index)
Удаляет элемент, находящийся в указанной позиции этого списка (необязательная операция).
E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом (необязательная операция).

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

add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в конец этого списка (необязательная операция).
void clear()
Удаляет все элементы из этого списка (необязательная операция).
boolean equals(Object o)
Сравнивает указанный объект с этим списком на равенство.
int hashCode()
Возвращает значение хеш-кода этого списка.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этот список или -1, если список не содержит этот элемент.
int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этот список или -1, если список не содержит этот элемент.
ListIterator<E> listIterator()
Возвращает итератор списка для элементов этого списка (в правильной последовательности).
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex исключительно.
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()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

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

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

AbstractSequentialList

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

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

get

public E get(int index)
Возвращает элемент, находящийся в указанной позиции этого списка.

Эта реализация сначала получает итератор списка, указывающий на элемент с заданным индексом (с помощью listIterator(index)). Затем она получает элемент с помощью ListIterator.next и возвращает его.

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

set

public E set(int index, E element)
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом (необязательная операция).

Эта реализация сначала получает итератор списка, указывающий на элемент с заданным индексом (с помощью listIterator(index)). Затем она получает текущий элемент с помощью ListIterator.next и заменяет его на ListIterator.set.

Обратите внимание, что эта реализация вызовет исключение UnsupportedOperationException, если итератор списка не поддерживает операцию set.

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

add

public void add(int index, E element)
Вставляет указанный элемент в указанную позицию этого списка (необязательная операция). Сдвигает элемент, который в данный момент находится в этой позиции (если он есть), и все последующие элементы вправо (увеличивает их индексы на единицу).

Эта реализация сначала получает итератор списка, указывающий на элемент с заданным индексом (с помощью listIterator(index)). Затем она вставляет указанный элемент с помощью ListIterator.add.

Обратите внимание, что эта реализация вызовет исключение UnsupportedOperationException, если итератор списка не поддерживает операцию add.

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

remove

public E remove(int index)
Удаляет элемент, находящийся в указанной позиции этого списка (необязательная операция). Сдвигает все последующие элементы влево (уменьшает их индексы на единицу). Возвращает элемент, удаленный из списка.

Эта реализация сначала получает итератор списка, указывающий на элемент с заданным индексом (с помощью listIterator(index)). Затем она удаляет элемент с помощью ListIterator.remove.

Обратите внимание, что эта реализация вызовет исключение UnsupportedOperationException, если итератор списка не поддерживает операцию remove.

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

addAll

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

Эта реализация получает итератор указанной коллекции и итератор списка для этого списка, указывающий на элемент с заданным индексом (с помощью listIterator(index)). Затем она перебирает указанную коллекцию, вставляя полученные из итератора элементы в этот список по одному с помощью ListIterator.add, после чего вызывает ListIterator.next (чтобы пропустить добавленный элемент).

Обратите внимание, что эта реализация вызовет исключение UnsupportedOperationException, если итератор списка, возвращенный методом listIterator, не поддерживает операцию add.

Определено в:
addAll в интерфейсе List<E>
Переопределяет:
addAll в классе AbstractList<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 в классе AbstractList<E>
Возвращает:
итератор элементов этого списка (в правильной последовательности)

listIterator

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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