Spec-Zone.ru › OpenJDK 25

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

Параметры типа:
E - тип элементов, хранящихся в этой двусторонней очереди
Все супертипы:
Collection<E>, Iterable<E>, Queue<E>, SequencedCollection<E>
Все известные подтипы:
BlockingDeque<E>
Все известные реализующие классы:
ArrayDeque, ConcurrentLinkedDeque, LinkedBlockingDeque, LinkedList
public interface Deque<E> extends Queue<E>, SequencedCollection<E>
Линейная коллекция, поддерживающая вставку и удаление элементов с обоих концов. Название deque — сокращение от «double ended queue» («двусторонняя очередь»); обычно оно произносится как «дек». Большинство реализаций Deque не устанавливают фиксированных ограничений на количество содержащихся в них элементов, однако этот интерфейс поддерживает как двусторонние очереди с ограниченной емкостью, так и очереди без фиксированного ограничения размера.

Этот интерфейс определяет методы доступа к элементам с обоих концов двусторонней очереди. Предусмотрены методы для вставки, удаления и просмотра элемента. Каждый из этих методов существует в двух вариантах: один выбрасывает исключение при неудачном выполнении операции, другой возвращает специальное значение (либо null, либо false, в зависимости от операции). Последний вариант операции вставки предназначен специально для использования с реализациями Deque с ограниченной емкостью; в большинстве реализаций операции вставки не могут завершиться неудачей.

Двенадцать описанных выше методов сведены в следующую таблицу:

Сводка методов Deque
Первый элемент (голова) Последний элемент (хвост)
Выбрасывает исключение Специальное значение Выбрасывает исключение Специальное значение
Вставка addFirst(e) offerFirst(e) addLast(e) offerLast(e)
Удаление removeFirst() pollFirst() removeLast() pollLast()
Просмотр getFirst() peekFirst() getLast() peekLast()

Этот интерфейс расширяет интерфейс Queue. При использовании двусторонней очереди как обычной очереди реализуется поведение FIFO (первым пришел — первым ушел). Элементы добавляются в конец двусторонней очереди и удаляются из ее начала. Методы, унаследованные от интерфейса Queue, в точности эквивалентны методам Deque, как показано в следующей таблице:

Сравнение методов Queue и Deque
Метод Queue Эквивалентный метод Deque
add(e) addLast(e)
offer(e) offerLast(e)
remove() removeFirst()
poll() pollFirst()
element() getFirst()
peek() peekFirst()

Двусторонние очереди также можно использовать как стеки LIFO (последним пришел — первым ушел). Этот интерфейс предпочтительнее устаревшего класса Stack. При использовании двусторонней очереди как стека элементы помещаются в стек и извлекаются из его начала. Методы стека эквивалентны методам Deque, как показано в таблице ниже:

Сравнение методов Stack и Deque
Метод Stack Эквивалентный метод Deque
push(e) addFirst(e)
pop() removeFirst()
peek() peekFirst()

Обратите внимание, что метод peek одинаково хорошо работает как при использовании двусторонней очереди в качестве обычной очереди, так и в качестве стека; в обоих случаях элементы извлекаются из начала двусторонней очереди.

Этот интерфейс предоставляет два метода для удаления внутренних элементов: removeFirstOccurrence и removeLastOccurrence.

В отличие от интерфейса List, этот интерфейс не предоставляет возможности индексированного доступа к элементам.

Хотя реализации Deque не обязаны строго запрещать вставку элементов null, настоятельно рекомендуется это делать. Пользователям любых реализаций Deque, допускающих элементы null, настоятельно рекомендуется не использовать возможность вставки значений null. Это связано с тем, что null используется различными методами в качестве специального возвращаемого значения, указывающего на то, что двусторонняя очередь пуста.

Реализации Deque обычно не определяют версии методов equals и hashCode, основанные на сравнении элементов, а наследуют версии, основанные на идентичности объектов, от класса Object.

Этот интерфейс входит в состав Java Collections Framework.

Начиная с версии:
1.6

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

Модификатор и тип Метод Описание
boolean add(E e)
Вставляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет — выбрасывает IllegalStateException.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этой двусторонней очереди, как если бы для каждого из них в порядке, возвращаемом итератором коллекции, был вызван метод addLast(E).
void addFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException.
void addLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException.
boolean contains(Object o)
Возвращает true, если эта двусторонняя очередь содержит указанный элемент.
Iterator<E> descendingIterator()
Возвращает итератор по элементам этой двусторонней очереди в обратном последовательном порядке.
E element()
Возвращает голову очереди, представленной этой двусторонней очередью (иначе говоря, ее первый элемент), не удаляя ее.
E getFirst()
Возвращает первый элемент этой двусторонней очереди, не удаляя его.
E getLast()
Возвращает последний элемент этой двусторонней очереди, не удаляя его.
Iterator<E> iterator()
Возвращает итератор по элементам этой двусторонней очереди в обычном порядке.
boolean offer(E e)
Вставляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет — false.
boolean offerFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди, если это не нарушает ограничений емкости.
boolean offerLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди, если это не нарушает ограничений емкости.
E peek()
Возвращает голову очереди, представленной этой двусторонней очередью (иначе говоря, ее первый элемент), не удаляя ее, или возвращает null, если двусторонняя очередь пуста.
E peekFirst()
Возвращает первый элемент этой двусторонней очереди, не удаляя его, или возвращает null, если двусторонняя очередь пуста.
E peekLast()
Возвращает последний элемент этой двусторонней очереди, не удаляя его, или возвращает null, если двусторонняя очередь пуста.
E poll()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, ее первый элемент), или возвращает null, если двусторонняя очередь пуста.
E pollFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди или возвращает null, если двусторонняя очередь пуста.
E pollLast()
Извлекает и удаляет последний элемент этой двусторонней очереди или возвращает null, если двусторонняя очередь пуста.
E pop()
Извлекает элемент из стека, представленного этой двусторонней очередью.
void push(E e)
Помещает элемент в стек, представленный этой двусторонней очередью (иначе говоря, в ее голову), если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException.
E remove()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, ее первый элемент).
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди.
E removeFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди.
boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди.
E removeLast()
Извлекает и удаляет последний элемент этой двусторонней очереди.
boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента из этой двусторонней очереди.
default Deque<E> reversed()
Возвращает представление view этой коллекции в обратном порядке.
int size()
Возвращает количество элементов в этой двусторонней очереди.

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

clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray

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

forEach

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

addFirst

void addFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException. При использовании двусторонней очереди с ограниченной емкостью обычно предпочтительнее метод offerFirst(E).
Указан в:
addFirst в интерфейсе SequencedCollection<E>
Параметры:
e — добавляемый элемент
Исключения:
IllegalStateException — если в данный момент элемент нельзя добавить из-за ограничений емкости
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

addLast

void addLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException. При использовании двусторонней очереди с ограниченной емкостью обычно предпочтительнее метод offerLast(E).

Этот метод эквивалентен add(E).

Указан в:
addLast в интерфейсе SequencedCollection<E>
Параметры:
e — добавляемый элемент
Исключения:
IllegalStateException — если в данный момент элемент нельзя добавить из-за ограничений емкости
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

offerFirst

boolean offerFirst(E e)
Вставляет указанный элемент в начало этой двусторонней очереди, если это не нарушает ограничений емкости. При использовании двусторонней очереди с ограниченной емкостью этот метод обычно предпочтительнее метода addFirst(E), который может не вставить элемент только путем выбрасывания исключения.
Параметры:
e — добавляемый элемент
Возвращает:
true, если элемент был добавлен в эту двустороннюю очередь; в противном случае — false
Исключения:
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

offerLast

boolean offerLast(E e)
Вставляет указанный элемент в конец этой двусторонней очереди, если это не нарушает ограничений емкости. При использовании двусторонней очереди с ограниченной емкостью этот метод обычно предпочтительнее метода addLast(E), который может не вставить элемент только путем выбрасывания исключения.
Параметры:
e — добавляемый элемент
Возвращает:
true, если элемент был добавлен в эту двустороннюю очередь; в противном случае — false
Исключения:
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

removeFirst

E removeFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди. Этот метод отличается от pollFirst только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.
Указан в:
removeFirst в интерфейсе SequencedCollection<E>
Возвращает:
голову этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

removeLast

E removeLast()
Извлекает и удаляет последний элемент этой двусторонней очереди. Этот метод отличается от pollLast только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.
Указан в:
removeLast в интерфейсе SequencedCollection<E>
Возвращает:
хвост этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

pollFirst

E pollFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
Возвращает:
голову этой двусторонней очереди или null, если эта двусторонняя очередь пуста

pollLast

E pollLast()
Извлекает и удаляет последний элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
Возвращает:
хвост этой двусторонней очереди или null, если эта двусторонняя очередь пуста

getFirst

E getFirst()
Извлекает, но не удаляет первый элемент этой двусторонней очереди. Этот метод отличается от peekFirst только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.
Указан в:
getFirst в интерфейсе SequencedCollection<E>
Возвращает:
голову этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

getLast

E getLast()
Извлекает, но не удаляет последний элемент этой двусторонней очереди. Этот метод отличается от peekLast только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.
Указан в:
getLast в интерфейсе SequencedCollection<E>
Возвращает:
хвост этой двусторонней очереди
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

peekFirst

E peekFirst()
Извлекает, но не удаляет первый элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
Возвращает:
голову этой двусторонней очереди или null, если эта двусторонняя очередь пуста

peekLast

E peekLast()
Извлекает, но не удаляет последний элемент этой двусторонней очереди или возвращает null, если эта двусторонняя очередь пуста.
Возвращает:
хвост этой двусторонней очереди или null, если эта двусторонняя очередь пуста

removeFirstOccurrence

boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди. Если очередь не содержит этот элемент, она остается без изменений. Точнее, удаляет первый элемент e, для которого выполняется условие Objects.equals(o, e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).
Параметры:
o — элемент, который следует удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если в результате вызова элемент был удален
Исключения:
ClassCastException — если класс указанного элемента несовместим с этой двусторонней очередью (необязательно)
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null (необязательно)

removeLastOccurrence

boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента из этой двусторонней очереди. Если очередь не содержит этот элемент, она остается без изменений. Точнее, удаляет последний элемент e, для которого выполняется условие Objects.equals(o, e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).
Параметры:
o — элемент, который следует удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если в результате вызова элемент был удален
Исключения:
ClassCastException — если класс указанного элемента несовместим с этой двусторонней очередью (необязательно)
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null (необязательно)

add

boolean add(E e)
Вставляет указанный элемент в очередь, представленную этой двусторонней очередью (то есть в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет, выбрасывает IllegalStateException. При использовании двусторонней очереди с ограниченной емкостью обычно предпочтительнее использовать offer.

Этот метод эквивалентен addLast(E).

Указан в:
add в интерфейсе Collection<E>
Указан в:
add в интерфейсе Queue<E>
Параметры:
e — добавляемый элемент
Возвращает:
true (как указано в Collection.add(E))
Исключения:
IllegalStateException — если в данный момент элемент нельзя добавить из-за ограничений емкости
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

offer

boolean offer(E e)
Вставляет указанный элемент в очередь, представленную этой двусторонней очередью (то есть в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет — false. При использовании двусторонней очереди с ограниченной емкостью этот метод обычно предпочтительнее метода add(E), который может не вставить элемент только путем выбрасывания исключения.

Этот метод эквивалентен offerLast(E).

Указан в:
offer в интерфейсе Queue<E>
Параметры:
e — добавляемый элемент
Возвращает:
true, если элемент был добавлен в эту двустороннюю очередь; в противном случае — false
Исключения:
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

remove

E remove()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (то есть ее первый элемент). Этот метод отличается от poll() только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.

Этот метод эквивалентен removeFirst().

Указан в:
remove в интерфейсе Queue<E>
Возвращает:
голову очереди, представленной этой двусторонней очередью
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

poll

E poll()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (то есть ее первый элемент), или возвращает null, если эта двусторонняя очередь пуста.

Этот метод эквивалентен pollFirst().

Указан в:
poll в интерфейсе Queue<E>
Возвращает:
первый элемент этой двусторонней очереди или null, если эта двусторонняя очередь пуста

element

E element()
Извлекает, но не удаляет голову очереди, представленной этой двусторонней очередью (то есть ее первый элемент). Этот метод отличается от peek только тем, что выбрасывает исключение, если эта двусторонняя очередь пуста.

Этот метод эквивалентен getFirst().

Указан в:
element в интерфейсе Queue<E>
Возвращает:
голову очереди, представленной этой двусторонней очередью
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

peek

E peek()
Извлекает, но не удаляет голову очереди, представленной этой двусторонней очередью (то есть ее первый элемент), или возвращает null, если эта двусторонняя очередь пуста.

Этот метод эквивалентен peekFirst().

Указан в:
peek в интерфейсе Queue<E>
Возвращает:
голову очереди, представленной этой двусторонней очередью, или null, если эта двусторонняя очередь пуста

addAll

boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в конец этой двусторонней очереди, как если бы для каждого из них в порядке, возвращаемом итератором коллекции, вызывался метод addLast(E).

При использовании двусторонней очереди с ограниченной емкостью обычно предпочтительнее отдельно вызывать offer для каждого элемента.

Исключение, возникшее при попытке добавить элемент, может привести к тому, что к моменту выбрасывания соответствующего исключения будут успешно добавлены лишь некоторые элементы.

Указан в:
addAll в интерфейсе Collection<E>
Параметры:
c — элементы, которые следует добавить в эту двустороннюю очередь
Возвращает:
true, если в результате вызова эта двусторонняя очередь изменилась
Исключения:
IllegalStateException — если в данный момент нельзя добавить все элементы из-за ограничений на вставку
ClassCastException — если класс элемента указанной коллекции препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанная коллекция содержит элемент null, а эта двусторонняя очередь не допускает элементы null, или если указанная коллекция равна null
IllegalArgumentException — если какое-либо свойство элемента указанной коллекции препятствует его добавлению в эту двустороннюю очередь
См. также:
  • Collection.add(Object)

push

void push(E e)
Помещает элемент в стек, представленный этой двусторонней очередью (то есть в ее голову), если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места в данный момент нет, выбрасывает IllegalStateException.

Этот метод эквивалентен addFirst(E).

Параметры:
e — помещаемый в стек элемент
Исключения:
IllegalStateException — если в данный момент элемент нельзя добавить из-за ограничений емкости
ClassCastException — если класс указанного элемента препятствует его добавлению в эту двустороннюю очередь
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента препятствует его добавлению в эту двустороннюю очередь

pop

E pop()
Извлекает элемент из стека, представленного этой двусторонней очередью. Иными словами, удаляет и возвращает первый элемент этой двусторонней очереди.

Этот метод эквивалентен removeFirst().

Возвращает:
элемент в начале этой двусторонней очереди (то есть вершину стека, представленного этой двусторонней очередью)
Исключения:
NoSuchElementException — если эта двусторонняя очередь пуста

remove

boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди. Если очередь не содержит этот элемент, она остается без изменений. Точнее, удаляет первый элемент e, для которого выполняется условие Objects.equals(o, e) (если такой элемент существует). Возвращает true, если эта двусторонняя очередь содержала указанный элемент (или, что эквивалентно, если в результате вызова очередь изменилась).

Этот метод эквивалентен removeFirstOccurrence(Object).

Указан в:
remove в интерфейсе Collection<E>
Параметры:
o — элемент, который следует удалить из этой двусторонней очереди, если он присутствует
Возвращает:
true, если в результате вызова элемент был удален
Исключения:
ClassCastException — если класс указанного элемента несовместим с этой двусторонней очередью (необязательно)
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null (необязательно)

contains

boolean contains(Object o)
Возвращает true, если эта двусторонняя очередь содержит указанный элемент. Точнее, возвращает true тогда и только тогда, когда эта двусторонняя очередь содержит хотя бы один элемент e, для которого выполняется условие Objects.equals(o, e).
Указан в:
contains в интерфейсе Collection<E>
Параметры:
o — элемент, наличие которого в этой двусторонней очереди проверяется
Возвращает:
true, если эта двусторонняя очередь содержит указанный элемент
Исключения:
ClassCastException — если класс указанного элемента несовместим с этой двусторонней очередью (необязательно)
NullPointerException — если указанный элемент равен null, а эта двусторонняя очередь не допускает элементы null (необязательно)

size

int size()
Возвращает количество элементов в этой двусторонней очереди.
Указан в:
size в интерфейсе Collection<E>
Возвращает:
количество элементов в этой двусторонней очереди

iterator

Iterator<E> iterator()
Возвращает итератор для обхода элементов этой двусторонней очереди в надлежащем порядке. Элементы возвращаются в порядке от первого (головы) до последнего (хвоста).
Указан в:
iterator в интерфейсе Collection<E>
Указан в:
iterator в интерфейсе Iterable<E>
Возвращает:
итератор для обхода элементов этой двусторонней очереди в надлежащем порядке

descendingIterator

Iterator<E> descendingIterator()
Возвращает итератор для обхода элементов этой двусторонней очереди в обратном порядке. Элементы возвращаются в порядке от последнего (хвоста) до первого (головы).
Возвращает:
итератор для обхода элементов этой двусторонней очереди в обратном порядке

reversed

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/Deque.html

Spec-Zone.ru

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