Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе AbstractList
modCount
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Вставляет указанный элемент в указанную позицию этого списка (необязательная операция). |
boolean |
addAll |
Вставляет все элементы указанной коллекции в этот список в указанную позицию (необязательная операция). |
E |
get |
Возвращает элемент, находящийся в указанной позиции этого списка. |
Iterator |
iterator() |
Возвращает итератор элементов этого списка в правильном порядке. |
abstract ListIterator |
listIterator |
Возвращает итератор списка по элементам этого списка в правильном порядке. |
E |
remove |
Удаляет элемент, находящийся в указанной позиции этого списка (необязательная операция). |
E |
set |
Заменяет элемент, находящийся в указанной позиции этого списка, указанным элементом (необязательная операция). |
Методы, объявленные в классе AbstractList
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
Методы, объявленные в классе AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray
Методы, объявленные в интерфейсе 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()
Эта реализация просто возвращает итератор списка для этого списка.
listIterator
public abstract ListIterator<E> listIterator(int index)
- Определён в:
-
listIteratorв интерфейсеList<E> - Переопределяет:
-
listIteratorв классеAbstractList<E> - Параметры:
-
index— индекс первого элемента, который будет возвращён итератором списка (при вызове методаnext) - Возвращает:
- итератор списка по элементам этого списка в правильном порядке
- Вызывает исключение:
-
IndexOutOfBoundsException— если индекс выходит за допустимые пределы (index < 0 || index > size())
© 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