Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе AbstractList
modCount | Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
add |
Добавляет указанный элемент в конец этого списка (необязательная операция). |
void |
clear() |
Удаляет все элементы из этого списка (необязательная операция). |
boolean |
equals |
Сравнивает указанный объект с этим списком на равенство. |
int |
hashCode() |
Возвращает значение хеш-кода этого списка. |
int |
indexOf |
Возвращает индекс первого вхождения указанного элемента в этот список или -1, если список не содержит этот элемент. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанного элемента в этот список или -1, если список не содержит этот элемент. |
ListIterator |
listIterator() |
Возвращает итератор списка для элементов этого списка (в правильной последовательности). |
protected void |
removeRange |
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex исключительно. |
List |
subList |
Возвращает представление части этого списка между fromIndex включительно и toIndex исключительно. |
Методы, объявленные в классе AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
addAll |
Добавляет все элементы указанной коллекции в эту коллекцию (необязательная операция). |
boolean |
contains |
Возвращает true, если эта коллекция содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если эта коллекция содержит все элементы указанной коллекции. |
boolean |
isEmpty() |
Возвращает true, если эта коллекция не содержит элементов. |
boolean |
remove |
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательная операция). |
boolean |
removeAll |
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции (необязательная операция). |
boolean |
retainAll |
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция). |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этой коллекции. |
<T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; тип возвращаемого массива во время выполнения совпадает с типом указанного массива. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
default Stream |
parallelStream() |
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция. |
default boolean |
removeIf |
Удаляет из этой коллекции все элементы, удовлетворяющие заданному предикату (необязательная операция). |
default Stream |
stream() |
Возвращает последовательный Stream, источником которого является эта коллекция. |
default <T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; для создания возвращаемого массива используется предоставленная функция generator. |
Методы, объявленные в интерфейсе Iterable
forEach | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение. |
Методы, объявленные в интерфейсе List
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, size, sort, spliterator, toArray, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
addAll |
Добавляет все элементы указанной коллекции в конец этого списка в том порядке, в котором их возвращает итератор указанной коллекции (необязательная операция). |
default void |
addFirst |
Добавляет элемент в начало этой коллекции (необязательная операция). |
default void |
addLast |
Добавляет элемент в конец этой коллекции (необязательная операция). |
boolean |
contains |
Возвращает true, если этот список содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если этот список содержит все элементы указанной коллекции. |
default E |
getFirst() |
Получает первый элемент этой коллекции. |
default E |
getLast() |
Получает последний элемент этой коллекции. |
boolean |
isEmpty() |
Возвращает true, если этот список не содержит элементов. |
boolean |
remove |
Удаляет первое вхождение указанного элемента из этого списка, если оно присутствует (необязательная операция). |
boolean |
removeAll |
Удаляет из этого списка все элементы, содержащиеся в указанной коллекции (необязательная операция). |
default E |
removeFirst() |
Удаляет и возвращает первый элемент этой коллекции (необязательная операция). |
default E |
removeLast() |
Удаляет и возвращает последний элемент этой коллекции (необязательная операция). |
default void |
replaceAll |
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция). |
boolean |
retainAll |
Оставляет в этом списке только элементы, содержащиеся в указанной коллекции (необязательная операция). |
default List |
reversed() |
Возвращает представление этой коллекции в обратном порядке. |
int |
size() |
Возвращает количество элементов в этом списке. |
default void |
sort |
Сортирует этот список в соответствии с порядком, определяемым указанным Comparator (необязательная операция). |
default Spliterator |
spliterator() |
Создает Spliterator для элементов этого списка. |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этого списка в правильной последовательности (от первого до последнего элемента). |
<T> T[] |
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.