Spec-Zone.ru › OpenJDK 25

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

Параметры типа:
E
Все суперинтерфейсы:
BlockingQueue<E>, Collection<E>, Deque<E>, Iterable<E>, Queue<E>, SequencedCollection<E>
Все известные реализующие классы:
LinkedBlockingDeque
public interface BlockingDeque<E> extends BlockingQueue<E>, Deque<E>
Двусторонняя очередь Deque, которая также поддерживает блокирующие операции: при извлечении элемента они ожидают, пока очередь станет непустой, а при добавлении элемента — пока в очереди не появится свободное место.

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

Сводка методов BlockingDeque
Первый элемент (голова)
Выбрасывает исключение Специальное значение Блокирует Ожидает до истечения времени
Добавление addFirst(e) offerFirst(e) putFirst(e) offerFirst(e, time, unit)
Удаление removeFirst() pollFirst() takeFirst() pollFirst(time, unit)
Просмотр getFirst() peekFirst() не применимо не применимо
Последний элемент (хвост)
Выбрасывает исключение Специальное значение Блокирует Ожидает до истечения времени
Добавление addLast(e) offerLast(e) putLast(e) offerLast(e, time, unit)
Удаление removeLast() pollLast() takeLast() pollLast(time, unit)
Просмотр getLast() peekLast() не применимо не применимо

Как и любая BlockingQueue, BlockingDeque является потокобезопасной, не допускает нулевых элементов и может иметь ограничение по емкости (или не иметь его).

Реализацию BlockingDeque можно непосредственно использовать как FIFO-BlockingQueue. Методы, унаследованные от интерфейса BlockingQueue, в точности эквивалентны методам BlockingDeque, как показано в следующей таблице:

Сравнение методов BlockingQueue и BlockingDeque
Метод BlockingQueue Эквивалентный метод BlockingDeque
Добавление add(e) addLast(e)
offer(e) offerLast(e)
put(e) putLast(e)
offer(e, time, unit) offerLast(e, time, unit)
Удаление remove() removeFirst()
poll() pollFirst()
take() takeFirst()
poll(time, unit) pollFirst(time, unit)
Просмотр element() getFirst()
peek() peekFirst()

Эффекты согласованности памяти: как и в других параллельных коллекциях, действия в потоке, предшествующие помещению объекта в BlockingDeque, происходят до действий, следующих за обращением к этому элементу или его удалением из BlockingDeque в другом потоке.

Этот интерфейс является частью Java Collections Framework.

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

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

Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; в случае успеха возвращает true, а если свободного места нет — выбрасывает IllegalStateException.
void addFirst(E e)
Добавляет указанный элемент в начало этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места нет, выбрасывает IllegalStateException.
void addLast(E e)
Добавляет указанный элемент в конец этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места нет, выбрасывает IllegalStateException.
boolean contains(Object o)
Возвращает true, если эта двусторонняя очередь содержит указанный элемент.
E element()
Извлекает, но не удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди).
Iterator<E> iterator()
Возвращает итератор по элементам этой двусторонней очереди в правильном порядке.
boolean offer(E e)
Добавляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), если это можно сделать немедленно, не нарушая ограничений емкости; в случае успеха возвращает true, а если свободного места нет — false.
boolean offer(E e, long timeout, TimeUnit unit)
Добавляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), при необходимости ожидая освобождения места в течение указанного времени.
boolean offerFirst(E e)
Добавляет указанный элемент в начало этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; в случае успеха возвращает true, а если свободного места нет — false.
boolean offerFirst(E e, long timeout, TimeUnit unit)
Добавляет указанный элемент в начало этой двусторонней очереди, при необходимости ожидая освобождения места в течение указанного времени.
boolean offerLast(E e)
Добавляет указанный элемент в конец этой двусторонней очереди, если это можно сделать немедленно, не нарушая ограничений емкости; в случае успеха возвращает true, а если свободного места нет — false.
boolean offerLast(E e, long timeout, TimeUnit unit)
Добавляет указанный элемент в конец этой двусторонней очереди, при необходимости ожидая освобождения места в течение указанного времени.
E peek()
Извлекает, но не удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди), либо возвращает null, если двусторонняя очередь пуста.
E poll()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди), либо возвращает null, если двусторонняя очередь пуста.
E poll(long timeout, TimeUnit unit)
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди), при необходимости ожидая появления элемента в течение указанного времени.
E pollFirst(long timeout, TimeUnit unit)
Извлекает и удаляет первый элемент этой двусторонней очереди, при необходимости ожидая появления элемента в течение указанного времени.
E pollLast(long timeout, TimeUnit unit)
Извлекает и удаляет последний элемент этой двусторонней очереди, при необходимости ожидая появления элемента в течение указанного времени.
void push(E e)
Помещает элемент в стек, представленный этой двусторонней очередью (иначе говоря, в ее голову), если это можно сделать немедленно, не нарушая ограничений емкости; если свободного места нет, выбрасывает IllegalStateException.
void put(E e)
Добавляет указанный элемент в очередь, представленную этой двусторонней очередью (иначе говоря, в ее хвост), при необходимости ожидая освобождения места.
void putFirst(E e)
Добавляет указанный элемент в начало этой двусторонней очереди, при необходимости ожидая освобождения места.
void putLast(E e)
Добавляет указанный элемент в конец этой двусторонней очереди, при необходимости ожидая освобождения места.
E remove()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди).
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди.
boolean removeFirstOccurrence(Object o)
Удаляет первое вхождение указанного элемента из этой двусторонней очереди.
boolean removeLastOccurrence(Object o)
Удаляет последнее вхождение указанного элемента из этой двусторонней очереди.
int size()
Возвращает количество элементов в этой двусторонней очереди.
E take()
Извлекает и удаляет голову очереди, представленной этой двусторонней очередью (иначе говоря, первый элемент этой двусторонней очереди), при необходимости ожидая появления элемента.
E takeFirst()
Извлекает и удаляет первый элемент этой двусторонней очереди, при необходимости ожидая появления элемента.
E takeLast()
Извлекает и удаляет последний элемент этой двусторонней очереди, при необходимости ожидая появления элемента.

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

drainTo, drainTo, remainingCapacity

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

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

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

addAll, descendingIterator, getFirst, getLast, peekFirst, peekLast, pollFirst, pollLast, pop, removeFirst, removeLast, reversed

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

forEach

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

addFirst

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

addLast

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

offerFirst

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

offerLast

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

putFirst

void putFirst(E e) throws InterruptedException
Вставляет указанный элемент в начало этого дека, при необходимости ожидая появления свободного места.
Параметры:
e — добавляемый элемент
Исключения:
InterruptedException — если поток был прерван во время ожидания
ClassCastException — если класс указанного элемента не позволяет добавить его в этот дек
NullPointerException — если указанный элемент равен null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в этот дек

putLast

void putLast(E e) throws InterruptedException
Вставляет указанный элемент в конец этого дека, при необходимости ожидая появления свободного места.
Параметры:
e — добавляемый элемент
Исключения:
InterruptedException — если поток был прерван во время ожидания
ClassCastException — если класс указанного элемента не позволяет добавить его в этот дек
NullPointerException — если указанный элемент равен null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в этот дек

offerFirst

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

offerLast

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

takeFirst

E takeFirst() throws InterruptedException
Извлекает и удаляет первый элемент этого дека, при необходимости ожидая его появления.
Возвращает:
голову этого дека
Исключения:
InterruptedException — если поток был прерван во время ожидания

takeLast

E takeLast() throws InterruptedException
Извлекает и удаляет последний элемент этого дека, при необходимости ожидая его появления.
Возвращает:
хвост этого дека
Исключения:
InterruptedException — если поток был прерван во время ожидания

pollFirst

E pollFirst(long timeout, TimeUnit unit) throws InterruptedException
Извлекает и удаляет первый элемент этого дека, при необходимости ожидая его появления не дольше указанного времени ожидания.
Параметры:
timeout — время ожидания до прекращения попыток, в единицах unit
unit — объект TimeUnit, определяющий интерпретацию параметра timeout
Возвращает:
голову этого дека или null, если указанное время ожидания истекло до появления элемента
Исключения:
InterruptedException — если поток был прерван во время ожидания

pollLast

E pollLast(long timeout, TimeUnit unit) throws InterruptedException
Извлекает и удаляет последний элемент этого дека, при необходимости ожидая его появления не дольше указанного времени ожидания.
Параметры:
timeout — время ожидания до прекращения попыток, в единицах unit
unit — объект TimeUnit, определяющий интерпретацию параметра timeout
Возвращает:
хвост этого дека или null, если указанное время ожидания истекло до появления элемента
Исключения:
InterruptedException — если поток был прерван во время ожидания

removeFirstOccurrence

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

removeLastOccurrence

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

add

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

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

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

offer

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

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

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

put

void put(E e) throws InterruptedException
Вставляет указанный элемент в очередь, представленную этим деком (то есть в хвост этого дека), при необходимости ожидая появления свободного места.

Этот метод эквивалентен putLast.

Определено в:
put в интерфейсе BlockingQueue<E>
Параметры:
e — добавляемый элемент
Исключения:
InterruptedException — если поток был прерван во время ожидания
ClassCastException — если класс указанного элемента не позволяет добавить его в этот дек
NullPointerException — если указанный элемент равен null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в этот дек

offer

boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
Вставляет указанный элемент в очередь, представленную этим деком (то есть в хвост этого дека), при необходимости ожидая появления свободного места не дольше указанного времени ожидания.

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

Определено в:
offer в интерфейсе BlockingQueue<E>
Параметры:
e — добавляемый элемент
timeout — время ожидания до прекращения попыток, в единицах unit
unit — объект TimeUnit, определяющий интерпретацию параметра timeout
Возвращает:
true, если элемент добавлен в этот дек, иначе false
Исключения:
InterruptedException — если поток был прерван во время ожидания
ClassCastException — если класс указанного элемента не позволяет добавить его в этот дек
NullPointerException — если указанный элемент равен null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в этот дек

remove

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

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

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

poll

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

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

Определено в:
poll в интерфейсе Deque<E>
Определено в:
poll в интерфейсе Queue<E>
Возвращает:
голову этого дека или null, если дек пуст

take

E take() throws InterruptedException
Извлекает и удаляет голову очереди, представленной этим деком (то есть первый элемент этого дека), при необходимости ожидая появления элемента.

Этот метод эквивалентен takeFirst.

Определено в:
take в интерфейсе BlockingQueue<E>
Возвращает:
голову этого дека
Исключения:
InterruptedException — если поток был прерван во время ожидания

poll

E poll(long timeout, TimeUnit unit) throws InterruptedException
Извлекает и удаляет голову очереди, представленной этим деком (то есть первый элемент этого дека), при необходимости ожидая появления элемента не дольше указанного времени ожидания.

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

Определено в:
poll в интерфейсе BlockingQueue<E>
Параметры:
timeout — время ожидания до прекращения попыток, в единицах unit
unit — объект TimeUnit, определяющий интерпретацию параметра timeout
Возвращает:
голову этого дека или null, если указанное время ожидания истекло до появления элемента
Исключения:
InterruptedException — если поток был прерван во время ожидания

element

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

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

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

peek

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

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

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

remove

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

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

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

contains

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

size

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

iterator

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

push

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

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

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

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

Spec-Zone.ru

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