Spec-Zone.ru › OpenJDK 25

Класс 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.

Начиная с версии:
1.2
См. также:
  • Collection
  • List
  • AbstractList
  • AbstractCollection

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

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

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

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

addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString

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

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

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

parallelStream, removeIf, stream, toArray

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

forEach

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

addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, size, sort, spliterator, toArray, toArray

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/AbstractSequentialList.html

Spec-Zone.ru

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