Spec-Zone.ru › OpenJDK 17

Класс AbstractSequentialList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
Все реализованные интерфейсы:
Iterable<E>, Collection<E>, List<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

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

Поля, объявленные в классе java.util.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)
Заменяет элемент в указанной позиции в этом списке указанным элементом (необязательная операция).

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

add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList

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

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

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

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

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

parallelStream, removeIf, stream, toArray

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

forEach

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

addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, 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.

Определено в:
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())

© 1993, 2021, 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/17/docs/api/java.base/java/util/AbstractSequentialList.html

Spec-Zone.ru

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