Spec-Zone.ru › OpenJDK 21

Интерфейс 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, дополнительно поддерживающая блокирующие операции, которые ожидают, пока очередь не станет непустой при извлечении элемента, и ожидают освобождения места в очереди при хранении элемента.

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 happen-before последующие действия по доступу или удалению этого элемента из BlockingDeque в другом потоке.

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

Since:
1.6

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

Modifier and Type Method Description
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.
Specified by:
addFirst в интерфейсе Deque<E>
Specified by:
addFirst в интерфейсе SequencedCollection<E>
Parameters:
e - добавляемый элемент
Throws:
IllegalStateException - если элемент не может быть добавлен в данный момент из-за ограничений по емкости
ClassCastException - если класс указанного элемента предотвращает его добавление в этот дек
NullPointerException - если указанный элемент имеет значение null
IllegalArgumentException - если некоторые свойства указанного элемента препятствуют его добавлению в этот дек

addLast

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

offerFirst

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

offerLast

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

putFirst

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

putLast

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

offerFirst

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

offerLast

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

takeFirst

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

takeLast

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

pollFirst

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

pollLast

E pollLast(long timeout, TimeUnit unit) throws InterruptedException
Извлекает и удаляет последний элемент этого очереди с двойным концом, ожидая до указанного времени ожидания, если необходимо, пока элемент не станет доступным.
Parameters:
timeout - время ожидания, прежде чем отказаться, в единицах unit
unit - TimeUnit, определяющий, как интерпретировать параметр timeout
Returns:
хвост этого очереди с двойным концом, или null , если указанное время ожидания истекает, прежде чем элемент станет доступным
Throws:
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 - a 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 - a 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, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/concurrent/BlockingDeque.html

Spec-Zone.ru

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