Spec-Zone.ru › OpenJDK 21

Интерфейс 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()
Возвращает представление этого набора в обратном порядке.

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

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

Методы, объявленные в интерфейсе java.lang.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 - если реализация этого набора не поддерживает эту операцию

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

Spec-Zone.ru

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