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