Spec-Zone.ru › OpenJDK 8

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

Конструкторы

Модификатор Конструктор и описание
protected AbstractSequentialList()

Единственный конструктор.

Методы

Модификатор и тип Метод и описание
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, size, toArray, toArray, toString

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

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

Методы, унаследованные от интерфейса java.util.List

addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray

Методы, унаследованные от интерфейса java.util.Collection

parallelStream, removeIf, stream

Методы, унаследованные от интерфейса java.lang.Iterable

forEach

Конструкторы

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 в интерфейсе Iterable<E>
Определено в:
iterator в интерфейсе Collection<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, 2020, 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.

Spec-Zone.ru

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