Spec-Zone.ru › OpenJDK 24

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

Type Parameters:
E - тип элементов, хранящихся в этом deque
Все суперинтерфейсы:
BlockingQueue<E>, Collection<E>, Deque<E>, Iterable<E>, Queue<E>, SequencedCollection<E>
Все известные реализующие классы:
LinkedBlockingDeque
public interface BlockingDeque<E> extends BlockingQueue<E>, Deque<E>
Интерфейс Deque, который дополнительно поддерживает блокирующие операции, ожидающие, пока deque не станет непустым при получении элемента, и ожидает освобождения места в 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.

Since:
1.6

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

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

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

drainTo, drainTo, remainingCapacity

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

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

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

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

Методы, объявленные в интерфейсе java.lang.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
Извлекает и удаляет последний элемент из этого deque, ожидая до указанного времени, если необходимо, пока элемент не станет доступным.
Параметры:
timeout - сколько времени ожидать, прежде чем отказаться, в единицах unit
unit - TimeUnit, определяющий, как интерпретировать параметр timeout
Возвращает:
хвост этого deque или null, если указанное время ожидания истекает, прежде чем элемент становится доступным
Исключения:
InterruptedException - если прервано ожидание

removeFirstOccurrence

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

removeLastOccurrence

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

add

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

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

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

offer

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

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

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

put

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

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

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

offer

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

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

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

remove

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

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

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

poll

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

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

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

take

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

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

Унаследовано от:
take в интерфейсе BlockingQueue<E>
Возвращает:
голова этого deque
Исключения:
InterruptedException - если прервано ожидание

poll

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

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

Specified by:
poll в интерфейсе BlockingQueue<E>
Parameters:
timeout - время ожидания, прежде чем прекратить попытки, в единицах unit
unit - TimeUnit, определяющая, как интерпретировать параметр timeout
Returns:
голова этого дека, или null, если указанное время ожидания истекло, прежде чем элемент стал доступным
Throws:
InterruptedException - если произошла прерывание ожидания

element

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

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

Specified by:
element в интерфейсе Deque<E>
Specified by:
element в интерфейсе Queue<E>
Returns:
голова этого дека
Throws:
NoSuchElementException - если этот дек пуст

peek

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

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

Specified by:
peek в интерфейсе Deque<E>
Specified by:
peek в интерфейсе Queue<E>
Returns:
голова этого дека, или null, если этот дек пуст

remove

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

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

Specified by:
remove в интерфейсе BlockingQueue<E>
Specified by:
remove в интерфейсе Collection<E>
Specified by:
remove в интерфейсе Deque<E>
Parameters:
o - элемент, который нужно удалить из этого дека, если он присутствует
Returns:
true, если этот дек изменился в результате вызова
Throws:
ClassCastException - если класс указанного элемента несовместим с этим деком (необязательно)
NullPointerException - если указанный элемент равен null (необязательно)

contains

boolean contains(Object o)
Возвращает true, если этот дек содержит указанный элемент. Более формально, возвращает true тогда и только тогда, когда этот дек содержит по крайней мере один элемент e, такой что o.equals(e).
Specified by:
contains в интерфейсе BlockingQueue<E>
Specified by:
contains в интерфейсе Collection<E>
Specified by:
contains в интерфейсе Deque<E>
Parameters:
o - объект, который нужно проверить на наличие в этом деке
Returns:
true, если этот дек содержит указанный элемент
Throws:
ClassCastException - если класс указанного элемента несовместим с этим деком (необязательно)
NullPointerException - если указанный элемент равен null (необязательно)

size

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

iterator

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

push

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

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/BlockingDeque.html

Spec-Zone.ru

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