Spec-Zone.ru › OpenJDK 25

Интерфейс SequencedCollection<E>

Параметры типа:
E — тип элементов этой коллекции
Все суперинтерфейсы:
Collection<E>, Iterable<E>
Все известные подинтерфейсы:
BlockingDeque<E>, Deque<E>, List<E>, NavigableSet<E>, SequencedSet<E>, SortedSet<E>
Все известные реализующие классы:
AbstractList, AbstractSequentialList, ArrayDeque, ArrayList, AttributeList, ConcurrentLinkedDeque, ConcurrentSkipListSet, CopyOnWriteArrayList, LinkedBlockingDeque, LinkedHashSet, LinkedList, RoleList, RoleUnresolvedList, Stack, TreeSet, Vector
public interface SequencedCollection<E> extends Collection<E>
Коллекция с определённым порядком обхода, поддерживающая операции с обоих концов и допускающая обращение порядка. Элементы упорядоченной коллекции имеют порядок обхода; концептуально элементы расположены линейно от первого до последнего. Для любых двух элементов один из них либо предшествует другому (находится ближе к первому элементу), либо следует за ним (находится ближе к последнему элементу).

(Обратите внимание: это определение ничего не говорит о физическом расположении элементов, например об их местонахождении в памяти компьютера.)

Некоторые методы, унаследованные от интерфейса Collection, должны работать с элементами в соответствии с порядком обхода этой коллекции. Например, метод iterator предоставляет элементы, начиная с первого и последовательно переходя к последующим, вплоть до последнего элемента. К другим методам, которые должны работать с элементами в порядке обхода, относятся: forEach, parallelStream, spliterator, stream и все перегруженные варианты метода toArray.

Этот интерфейс предоставляет методы для добавления, получения и удаления элементов с любого конца коллекции.

Этот интерфейс также определяет метод reversed, который предоставляет представление этой коллекции с обратным порядком. В представлении с обратным порядком понятия первого и последнего, а также последующего и предшествующего элемента меняются местами. Первый элемент этой коллекции является последним элементом представления с обратным порядком, и наоборот. Последующий элемент для некоторого элемента этой коллекции является его предшествующим элементом в представлении с обратным порядком, и наоборот. Все методы, учитывающие порядок обхода коллекции, работают так, как если бы этот порядок был обратным. Например, метод Collection.iterator() представления с обратным порядком возвращает элементы в порядке от последнего элемента этой коллекции до первого. Наличие метода reversed и его влияние на семантику порядка всех применимых методов позволяют удобно перебирать, искать, копировать и обрабатывать в потоках элементы этой коллекции как в прямом, так и в обратном порядке.

Этот класс входит в состав Java Collections Framework.

Примечание по API:
Этот интерфейс не устанавливает никаких требований к методам equals и hashCode, поскольку требования подинтерфейсов List и SequencedSet (который наследует требования от Set) противоречили бы друг другу. Дополнительные сведения см. в спецификациях Collection.equals и Collection.hashCode.
Начиная с версии:
21

Краткое описание методов

Модификатор и тип Метод Описание
default void addFirst(E e)
Добавляет элемент в начало этой коллекции (необязательная операция).
default void addLast(E e)
Добавляет элемент в конец этой коллекции (необязательная операция).
default E getFirst()
Получает первый элемент этой коллекции.
default E getLast()
Получает последний элемент этой коллекции.
default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
SequencedCollection<E> reversed()
Возвращает представление этой коллекции с обратным порядком.

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

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray

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

forEach

Подробное описание методов

reversed

SequencedCollection<E> reversed()
Возвращает представление этой коллекции с обратным порядком. Порядок обхода элементов в возвращаемом представлении обратен порядку обхода элементов в этой коллекции. Обратный порядок влияет на все операции, зависящие от порядка, включая операции над коллекциями-представлениями, содержащимися в возвращаемом представлении. Если реализация коллекции допускает изменения этого представления, изменения «передаются» базовой коллекции. В зависимости от реализации изменения базовой коллекции могут быть видны в этом представлении с обратным порядком, а могут и не быть.
Возвращает:
представление этой коллекции с обратным порядком

addFirst

default void addFirst(E e)
Добавляет элемент в начало этой коллекции (необязательная операция). После нормального завершения этой операции указанный элемент будет принадлежать этой коллекции и станет первым элементом в порядке обхода.
Требования к реализации:
Реализация этого интерфейса всегда выбрасывает UnsupportedOperationException.
Параметры:
e — добавляемый элемент
Выбрасывает:
NullPointerException — если указанный элемент равен null, а эта коллекция не допускает элементы null
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию

addLast

default void addLast(E e)
Добавляет элемент в конец этой коллекции (необязательная операция). После нормального завершения этой операции указанный элемент будет принадлежать этой коллекции и станет последним элементом в порядке обхода.
Требования к реализации:
Реализация этого интерфейса всегда выбрасывает UnsupportedOperationException.
Параметры:
e — добавляемый элемент.
Выбрасывает:
NullPointerException — если указанный элемент равен null, а эта коллекция не допускает элементы null
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию

getFirst

default E getFirst()
Получает первый элемент этой коллекции.
Требования к реализации:
Реализация этого интерфейса получает итератор этой коллекции, а затем получает элемент, вызывая метод next итератора. Любое выброшенное исключение NoSuchElementException передаётся дальше. В противном случае возвращается элемент.
Возвращает:
полученный элемент
Выбрасывает:
NoSuchElementException — если коллекция пуста

getLast

default E getLast()
Получает последний элемент этой коллекции.
Требования к реализации:
Реализация этого интерфейса получает итератор представления этой коллекции с обратным порядком, а затем получает элемент, вызывая метод next итератора. Любое выброшенное исключение NoSuchElementException передаётся дальше. В противном случае возвращается элемент.
Возвращает:
полученный элемент
Выбрасывает:
NoSuchElementException — если коллекция пуста

removeFirst

default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
Требования к реализации:
Реализация этого интерфейса получает итератор этой коллекции, а затем получает элемент, вызывая метод next итератора. Любое выброшенное исключение NoSuchElementException передаётся дальше. Затем вызывается метод remove итератора. Любое выброшенное исключение UnsupportedOperationException передаётся дальше. После этого возвращается элемент.
Возвращает:
удалённый элемент
Выбрасывает:
NoSuchElementException — если коллекция пуста
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию

removeLast

default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
Требования к реализации:
Реализация этого интерфейса получает итератор представления этой коллекции с обратным порядком, а затем получает элемент, вызывая метод next итератора. Любое выброшенное исключение NoSuchElementException передаётся дальше. Затем вызывается метод remove итератора. Любое выброшенное исключение UnsupportedOperationException передаётся дальше. После этого возвращается элемент.
Возвращает:
удалённый элемент
Выбрасывает:
NoSuchElementException — если коллекция пуста
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/SequencedCollection.html

Spec-Zone.ru

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