Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе java.util.AbstractList
modCount
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Вставляет указанный элемент в указанную позицию в этом списке (дополнительная операция). |
boolean |
addAll |
Вставляет все элементы из указанной коллекции в этот список в указанной позиции (дополнительная операция). |
E |
get |
Возвращает элемент в указанной позиции в этом списке. |
Iterator |
iterator() |
Возвращает итератор элементов в этом списке (в правильной последовательности). |
abstract ListIterator |
listIterator |
Возвращает итератор списка элементов в этом списке (в правильной последовательности). |
E |
remove |
Удаляет элемент в указанной позиции в этом списке (дополнительная операция). |
E |
set |
Заменяет элемент в указанной позиции в этом списке указанным элементом (дополнительная операция). |
Методы, объявленные в классе 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.util.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.
- Определено в:
-
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, 2023, 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/21/docs/api/java.base/java/util/AbstractSequentialList.html