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

Параметры типа:
E - тип элементов, хранимых в этом очереди
Все суперинтерфейсы:
BlockingQueue<E>, Collection<E>, Deque<E>, Iterable<E>, Queue<E>
Все известные реализующие классы:
LinkedBlockingDeque
public interface BlockingDeque<E>
extends BlockingQueue<E>, Deque<E>

A Deque that additionally supports blocking operations that wait for the deque to become non-empty when retrieving an element, and wait for space to become available in the deque when storing an element.

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

Первый элемент (голова)
Выбрасывает исключение Специальное значение Блокирует Истекает время ожидания
Вставка 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
Вставка 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()

Извлекает и удаляет последний элемент этого дека, ожидая, если необходимо, пока элемент станет доступным.

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

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

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

addLast

void addLast(E e)

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

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

offerFirst

boolean offerFirst(E e)

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

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

offerLast

boolean offerLast(E e)

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

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

putFirst

void putFirst(E e)
       throws InterruptedException

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

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

putLast

void putLast(E e)
      throws InterruptedException

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

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

offerFirst

boolean offerFirst(E e,
                   long timeout,
                   TimeUnit unit)
            throws InterruptedException

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

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

offerLast

boolean offerLast(E e,
                  long timeout,
                  TimeUnit unit)
           throws InterruptedException

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

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

takeFirst

E takeFirst()
     throws InterruptedException

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

Возвращает:
голова этого очереди с двойным концом
Исключения:
InterruptedException - если прервано во время ожидания

takeLast

E takeLast()
    throws InterruptedException

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

Возвращает:
хвост этого очереди с двойным концом
Исключения:
InterruptedException - если прервано во время ожидания

pollFirst

E pollFirst(long timeout,
            TimeUnit unit)
     throws InterruptedException

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

Параметры:
timeout - время ожидания перед отказом, в единицах unit
unit - TimeUnit определяющий, как интерпретировать параметр timeout
Возвращает:
голова этого очереди с двойным концом, или null если указанное время ожидания истекает, прежде чем элемент станет доступным
Исключения:
InterruptedException - если прервано во время ожидания

pollLast

E pollLast(long timeout,
           TimeUnit unit)
    throws InterruptedException

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

Параметры:
timeout - время ожидания перед отказом, в единицах unit
unit - TimeUnit определяющий, как интерпретировать параметр timeout
Возвращает:
хвост этого очереди с двойным концом, или 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)

Удаляет последнее вхождение указанного элемента из этого дека. Если дек не содержит элемент, он не изменяется. Более формально, удаляет последний элемент 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 - если какая-то характеристика указанного элемента препятствует его добавлению в этот дек

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

Spec-Zone .ru
спецификации, руководства, описания, API