Spec-Zone.ru › OpenJDK 17

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

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

Методы, объявленные в интерфейсе 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

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

forEach

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

addFirst

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

addLast

void addLast(E e)
Вставляет указанный элемент в конец этой очереди, если это можно сделать немедленно без нарушения ограничений по емкости, выбросив IllegalStateException , если в настоящее время нет места. При использовании очереди с ограниченной емкостью, обычно предпочтительнее использовать offerLast.
Указано:
addLast в интерфейсе Deque<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 , если этот дек содержал указанный элемент (или, что эквивалентно, если этот дек изменился в результате вызова).
Specified by:
removeFirstOccurrence в интерфейсе Deque<E>
Parameters:
o - элемент, подлежащий удалению из этого дека, если он присутствует
Returns:
true , если элемент был удален в результате этого вызова
Throws:
ClassCastException - если класс указанного элемента несовместим с этим деком (необязательно)
NullPointerException - если указанный элемент имеет значение null (необязательно)

removeLastOccurrence

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

add

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

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

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

offer

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

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

Specified by:
offer в интерфейсе BlockingQueue<E>
Specified by:
offer в интерфейсе Deque<E>
Specified by:
offer в интерфейсе Queue<E>
Parameters:
e - добавляемый элемент
Returns:
true , если элемент был добавлен в эту очередь, иначе false
Throws:
ClassCastException - если класс указанного элемента препятствует его добавлению в этот дек
NullPointerException - если указанный элемент имеет значение null
IllegalArgumentException - если какое-либо свойство указанного элемента препятствует его добавлению в этот дек

put

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

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

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

offer

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

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

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

remove

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

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

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

poll

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

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

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

take

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

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

Specified by:
take в интерфейсе BlockingQueue<E>
Returns:
голова этого дека
Throws:
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 in interface Deque<E>
Specified by:
element in interface Queue<E>
Returns:
голова этого дека
Throws:
NoSuchElementException - если этот дек пуст

peek

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

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

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

remove

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

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

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

contains

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

size

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

iterator

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

push

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

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

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

© 1993, 2021, 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/17/docs/api/java.base/java/util/concurrent/BlockingDeque.html

Spec-Zone.ru

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