Spec-Zone.ru › OpenJDK 8

Класс LinkedBlockingDeque<E>

  • java.lang.Object
    • java.util.AbstractCollection<E>
      • java.util.AbstractQueue<E>
        • java.util.concurrent.LinkedBlockingDeque<E>
Type Parameters:
E - тип элементов, хранящихся в этой коллекции
Все реализованные интерфейсы:
Serializable, Iterable<E>, Collection<E>, BlockingDeque<E>, BlockingQueue<E>, Deque<E>, Queue<E>

public class LinkedBlockingDeque<E>
extends AbstractQueue<E>
implements BlockingDeque<E>, Serializable

Необязательно ограниченная блокирующая очередь с двумя концами на основе связанных узлов.

Необязательный аргумент конструктора, задающий ограничение по емкости, служит для предотвращения чрезмерного расширения. Емкость, если не указана, равна Integer.MAX_VALUE. Связанные узлы динамически создаются при каждой вставке, если это не приведет к превышению емкости очереди.

Большинство операций выполняются за константное время (не учитывая время блокирования). К исключениям относятся remove, removeFirstOccurrence, removeLastOccurrence, contains, iterator.remove() и операции над массивом, все из которых выполняются за линейное время.

Этот класс и его итератор реализуют все необязательные методы интерфейсов Collection и Iterator.

Этот класс является членом Java Collections Framework.

Since:
1.6
См. также:
Сериализованная форма

Конструкторы

Конструктор и описание
LinkedBlockingDeque()

Создает LinkedBlockingDeque с емкостью Integer.MAX_VALUE.

LinkedBlockingDeque(Collection<? extends E> c)

Создает LinkedBlockingDeque с емкостью Integer.MAX_VALUE, содержащий изначально элементы заданной коллекции, добавленные в порядке обхода итератора коллекции.

LinkedBlockingDeque(int capacity)

Создает LinkedBlockingDeque с заданной (фиксированной) емкостью.

Методы

Модификатор и тип Метод и описание
boolean add(E e)

Вставляет указанный элемент в конец этого двустороннего очереди, если это не нарушит ограничения по емкости.

void addFirst(E e)

Вставляет указанный элемент в начало этого двустороннего очереди, если это возможно сделать немедленно без нарушения ограничений по емкости, выбрасывая IllegalStateException , если места нет.

void addLast(E e)

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

void clear()

Атомарно удаляет все элементы из этого двустороннего очереди.

boolean contains(Object o)

Возвращает true, если этот двусторонний очередь содержит указанный элемент.

Iterator<E> descendingIterator()

Возвращает итератор по элементам в этом двустороннем очереди в обратном последовательном порядке.

int drainTo(Collection<? super E> c)

Удаляет все доступные элементы из этой очереди и добавляет их в заданную коллекцию.

int drainTo(Collection<? super E> c, int maxElements)

Удаляет не более заданного количества доступных элементов из этой очереди и добавляет их в заданную коллекцию.

E element()

Получает, но не удаляет, голову очереди, представленной этим двусторонним очереди.

E getFirst()

Получает, но не удаляет, первый элемент этого двустороннего очереди.

E getLast()

Получает, но не удаляет, последний элемент этого двустороннего очереди.

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 peekFirst()

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

E peekLast()

Получает, но не удаляет, последний элемент этого двустороннего очереди, или возвращает null, если этот двусторонний очередь пустой.

E poll()

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

E poll(long timeout, TimeUnit unit)

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

E pollFirst()

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

E pollFirst(long timeout, TimeUnit unit)

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

E pollLast()

Получает и удаляет последний элемент этого двустороннего очереди, или возвращает null, если этот двусторонний очередь пустой.

E pollLast(long timeout, TimeUnit unit)

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

E pop()

Извлекает элемент из стека, представленного этим двусторонним очереди.

void push(E e)

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

void put(E e)

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

void putFirst(E e)

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

void putLast(E e)

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

int remainingCapacity()

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

E remove()

Получает и удаляет голову очереди, представленной этим двусторонним очереди.

boolean remove(Object o)

Удаляет первое вхождение указанного элемента из этого двустороннего очереди.

E removeFirst()

Получает и удаляет первый элемент этого двустороннего очереди.

boolean removeFirstOccurrence(Object o)

Удаляет первое вхождение указанного элемента из этого двустороннего очереди.

E removeLast()

Получает и удаляет последний элемент этого двустороннего очереди.

boolean removeLastOccurrence(Object o)

Удаляет последнее вхождение указанного элемента из этого двустороннего очереди.

int size()

Возвращает количество элементов в этом двустороннем очереди.

Spliterator<E> spliterator()

Возвращает Spliterator по элементам в этом двустороннем очереди.

E take()

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

E takeFirst()

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

E takeLast()

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

Object[] toArray()

Возвращает массив, содержащий все элементы в этом двустороннем очереди в правильной последовательности (от первого до последнего элемента).

<T> T[] toArray(T[] a)

Возвращает массив, содержащий все элементы в этом двустороннем очереди в правильной последовательности; тип возвращаемого массива — тип указанного массива.

String toString()

Возвращает строковое представление этой коллекции.

Методы, унаследованные от класса java.util.AbstractQueue

addAll

Методы, унаследованные от класса java.util.AbstractCollection

containsAll, isEmpty, removeAll, retainAll

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса java.util.Collection

addAll, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, stream

Методы, унаследованные от интерфейса java.lang.Iterable

forEach

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

LinkedBlockingDeque

public LinkedBlockingDeque()

Создаёт LinkedBlockingDeque с ёмкостью Integer.MAX_VALUE.

LinkedBlockingDeque

public LinkedBlockingDeque(int capacity)

Создаёт LinkedBlockingDeque с заданной (фиксированной) ёмкостью.

Параметры:
capacity - ёмкость этой деки
Исключения:
IllegalArgumentException - если capacity меньше 1

LinkedBlockingDeque

public LinkedBlockingDeque(Collection<? extends E> c)

Создаёт LinkedBlockingDeque с ёмкостью Integer.MAX_VALUE, изначально содержащий элементы заданной коллекции, добавленные в порядке обхода итератора коллекции.

Параметры:
c - коллекция элементов, которые должны изначально содержаться
Исключения:
NullPointerException - если указанная коллекция или любой из её элементов являются null

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

addFirst

public void addFirst(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

addLast

public void addLast(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

offerFirst

public boolean offerFirst(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

offerLast

public boolean offerLast(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

putFirst

public void putFirst(E e)
              throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

putLast

public void putLast(E e)
             throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

offerFirst

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

Описание скопировано из интерфейса: BlockingDeque

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

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

offerLast

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

Описание скопировано из интерфейса: BlockingDeque

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

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

removeFirst

public E removeFirst()

Описание скопировано из интерфейса: Deque

Извлекает и удаляет первый элемент этой деки. Этот метод отличается от pollFirst только тем, что он вызывает исключение, если эта дека пуста.

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

removeLast

public E removeLast()

Описание скопировано из интерфейса: Deque

Извлекает и удаляет последний элемент этой деки. Этот метод отличается от pollLast только тем, что он вызывает исключение, если эта дека пуста.

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

pollFirst

public E pollFirst()

Описание скопировано из интерфейса: Deque

Извлекает и удаляет первый элемент этой деки или возвращает null если эта дека пуста.

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

pollLast

public E pollLast()

Описание скопировано из интерфейса: Deque

Извлекает и удаляет последний элемент этой деки или возвращает null если эта дека пуста.

Указано в:
pollLast в интерфейсе Deque<E>
Возвращаемое значение:
хвост этой деки, или null если эта дека пуста

takeFirst

public E takeFirst()
            throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

takeLast

public E takeLast()
           throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

Указано в:
takeLast в интерфейсе BlockingDeque<E>
Возвращаемое значение:
хвост этой деки
Исключения:
InterruptedException - если прервано во время ожидания

pollFirst

public E pollFirst(long timeout,
                   TimeUnit unit)
            throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

pollLast

public E pollLast(long timeout,
                  TimeUnit unit)
           throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

getFirst

public E getFirst()

Описание скопировано из интерфейса: Deque

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

Определено в:
getFirst в интерфейсе Deque<E>
Возвращает:
голова этой очереди
Выбрасывает:
NoSuchElementException - если эта очередь пуста

getLast

public E getLast()

Описание скопировано из интерфейса: Deque

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

Определено в:
getLast в интерфейсе Deque<E>
Возвращает:
хвост этой очереди
Выбрасывает:
NoSuchElementException - если эта очередь пуста

peekFirst

public E peekFirst()

Описание скопировано из интерфейса: Deque

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

Определено в:
peekFirst в интерфейсе Deque<E>
Возвращает:
голова этой очереди или null если эта очередь пуста

peekLast

public E peekLast()

Описание скопировано из интерфейса: Deque

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

Определено в:
peekLast в интерфейсе Deque<E>
Возвращает:
хвост этой очереди или null если эта очередь пуста

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)

Описание скопировано из интерфейса: BlockingDeque

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

Определено в:
removeFirstOccurrence в интерфейсе BlockingDeque<E>
Определено в:
removeFirstOccurrence в интерфейсе Deque<E>
Параметры:
o - элемент, подлежащий удалению из этой очереди, если он присутствует
Возвращает:
true если элемент был удален в результате этого вызова

removeLastOccurrence

public boolean removeLastOccurrence(Object o)

Описание скопировано из интерфейса: BlockingDeque

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

Определено в:
removeLastOccurrence в интерфейсе BlockingDeque<E>
Определено в:
removeLastOccurrence в интерфейсе Deque<E>
Параметры:
o - элемент, подлежащий удалению из этой очереди, если он присутствует
Возвращает:
true если элемент был удален в результате этого вызова

add

public boolean add(E e)

Вставляет указанный элемент в конец этой очереди, если это не нарушает ограничения по емкости. При использовании очереди с ограниченной емкостью обычно предпочтительнее использовать метод offer.

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

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

offer

public boolean offer(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

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

put

public void put(E e)
         throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

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

offer

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

Описание скопировано из интерфейса: BlockingDeque

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

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

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

remove

public E remove()

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

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

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

poll

public E poll()

Описание скопировано из интерфейса: BlockingDeque

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

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

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

take

public E take()
       throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

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

poll

public E poll(long timeout,
              TimeUnit unit)
       throws InterruptedException

Описание скопировано из интерфейса: BlockingDeque

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

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

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

element

public E element()

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

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

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

peek

public E peek()

Описание скопировано из интерфейса: BlockingDeque

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

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

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

remainingCapacity

public int remainingCapacity()

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

Обратите внимание, что вы не всегда можете сказать, будет ли попытка вставить элемент успешной, посмотрев на remainingCapacity, потому что может быть так, что другая нить собирается вставить или удалить элемент.

Указано:
remainingCapacity в интерфейсе BlockingQueue<E>
Возвращает:
оставшуюся емкость

drainTo

public int drainTo(Collection<? super E> c)

Описание скопировано из интерфейса: BlockingQueue

Удаляет все доступные элементы из этой очереди и добавляет их в заданную коллекцию. Эта операция может быть более эффективной, чем многократное получение из этой очереди. Ошибка, возникшая при попытке добавить элементы в коллекцию c, может привести к тому, что элементы окажутся ни в одной, ни в той, ни в другой, или в обеих коллекциях при возникновении связанного исключения. Попытки слить очередь в себя приводят к IllegalArgumentException. Кроме того, поведение этой операции не определено, если заданная коллекция изменяется во время выполнения операции.

Указано:
drainTo в интерфейсе BlockingQueue<E>
Параметры:
c - коллекция для передачи элементов
Возвращает:
количество переданных элементов
Исключение:
UnsupportedOperationException - если добавление элементов не поддерживается заданной коллекцией
ClassCastException - если класс элемента этой очереди не позволяет добавить его в заданную коллекцию
NullPointerException - если заданная коллекция равна null
IllegalArgumentException - если заданная коллекция является этой очередью или какое-либо свойство элемента этой очереди препятствует добавлению его в заданную коллекцию

drainTo

public int drainTo(Collection<? super E> c,
                   int maxElements)

Описание скопировано из интерфейса: BlockingQueue

Удаляет не более заданного количества доступных элементов из этой очереди и добавляет их в заданную коллекцию. Ошибка, возникшая при попытке добавить элементы в коллекцию c, может привести к тому, что элементы окажутся ни в одной, ни в той, ни в другой, или в обеих коллекциях при возникновении связанного исключения. Попытки слить очередь в себя приводят к IllegalArgumentException. Кроме того, поведение этой операции не определено, если заданная коллекция изменяется во время выполнения операции.

Указано:
drainTo в интерфейсе BlockingQueue<E>
Параметры:
c - коллекция для передачи элементов
maxElements - максимальное количество элементов для передачи
Возвращает:
количество переданных элементов
Исключение:
UnsupportedOperationException - если добавление элементов не поддерживается заданной коллекцией
ClassCastException - если класс элемента этой очереди не позволяет добавить его в заданную коллекцию
NullPointerException - если заданная коллекция равна null
IllegalArgumentException - если заданная коллекция является этой очередью или какое-либо свойство элемента этой очереди препятствует добавлению его в заданную коллекцию

push

public void push(E e)

Описание скопировано из интерфейса: BlockingDeque

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

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

Указано:
push в интерфейсе BlockingDeque<E>
Указано:
push в интерфейсе Deque<E>
Параметры:
e - элемент для помещения
Исключение:
IllegalStateException - если этот deque заполнен
NullPointerException - если указанный элемент равен null

pop

public E pop()

Описание скопировано из интерфейса: Deque

Извлекает элемент из стека, представленного этим deque. Другими словами, удаляет и возвращает первый элемент этого deque.

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

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

remove

public boolean remove(Object o)

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

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

Указано в:
remove в интерфейсе Collection<E>
Указано в:
remove в интерфейсе BlockingDeque<E>
Указано в:
remove в интерфейсе BlockingQueue<E>
Указано в:
remove в интерфейсе Deque<E>
Переопределяет:
remove в классе AbstractCollection<E>
Параметры:
o - элемент, который необходимо удалить из этого очереди, если он присутствует
Возвращает:
true если в результате вызова этот очередь был изменён

size

public int size()

Возвращает количество элементов в этом очереди.

Указано в:
size в интерфейсе Collection<E>
Указано в:
size в интерфейсе BlockingDeque<E>
Указано в:
size в интерфейсе Deque<E>
Указано в:
size в классе AbstractCollection<E>
Возвращает:
количество элементов в этом очереди

contains

public boolean contains(Object o)

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

Указано в:
contains в интерфейсе Collection<E>
Указано в:
contains в интерфейсе BlockingDeque<E>
Указано в:
contains в интерфейсе BlockingQueue<E>
Указано в:
contains в интерфейсе Deque<E>
Переопределяет:
contains в классе AbstractCollection<E>
Параметры:
o - объект, который нужно проверить на наличие в этом очереди
Возвращает:
true если этот очередь содержит указанный элемент

toArray

public Object[] toArray()

Возвращает массив, содержащий все элементы в этом очереди в правильной последовательности (от первого до последнего элемента).

Возвращаемый массив будет «безопасным», поскольку к нему не сохраняются ссылки из этого очереди. (Другими словами, этот метод должен выделить новый массив). Таким образом, вызывающий может свободно изменять возвращаемый массив.

Этот метод действует как мост между основанными на массивах и основанными на коллекциях API.

Указано в:
toArray в интерфейсе Collection<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Возвращает:
массив, содержащий все элементы в этом очереди

toArray

public <T> T[] toArray(T[] a)

Возвращает массив, содержащий все элементы в этом очереди в правильной последовательности; тип выполнения возвращаемого массива соответствует типу указанного массива. Если очередь помещается в указанный массив, она возвращается в нём. В противном случае выделяется новый массив с типом выполнения указанного массива и размером этого очереди.

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

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

Предположим, x — это очередь, известная тем, что содержит только строки. Следующий код может использоваться для выгрузки очереди в новый выделенный массив типа String:

String[] y = x.toArray(new String[0]);
Обратите внимание, что toArray(new Object[0]) идентичен по функции toArray().
Указано в:
toArray в интерфейсе Collection<E>
Переопределяет:
toArray в классе AbstractCollection<E>
Параметры типа:
T - тип выполнения массива, содержащего коллекцию
Параметры:
a - массив, в который будут помещены элементы очереди, если он достаточно большой; в противном случае для этой цели выделяется новый массив того же типа выполнения
Возвращает:
массив, содержащий все элементы в этом очереди
Исключения:
ArrayStoreException - если тип выполнения указанного массива не является супертипом типа выполнения каждого элемента в этом очереди
NullPointerException - если указанный массив равен null

toString

public String toString()

Описание скопировано из класса: AbstractCollection

Возвращает строковое представление этой коллекции. Строковое представление состоит из списка элементов коллекции в порядке их возврата итератором, заключёнными в квадратные скобки ("[]"). Смежные элементы разделяются символами ", " (запятая и пробел). Элементы преобразуются в строки как в String.valueOf(Object).

Переопределяет:
toString в классе AbstractCollection<E>
Возвращает:
строковое представление этой коллекции

clear

public void clear()

Атомарно удаляет все элементы из этого очереди. Очередь будет пустой после возвращения вызова.

Указано в:
clear в интерфейсе Collection<E>
Переопределяет:
clear в классе AbstractQueue<E>

iterator

public Iterator<E> iterator()

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

Возвращаемый итератор слабо согласован.

Указано в:
iterator в интерфейсе Iterable<E>
Указано в:
iterator в интерфейсе Collection<E>
Указано в:
iterator в интерфейсе BlockingDeque<E>
Указано в:
iterator в интерфейсе Deque<E>
Указано в:
iterator в классе AbstractCollection<E>
Возвращает:
итератор по элементам в этом очереди в правильной последовательности

descendingIterator

public Iterator<E> descendingIterator()

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

Возвращаемый итератор слабо согласован.

Указано в:
descendingIterator в интерфейсе Deque<E>
Возвращает:
итератор по элементам в этом очереди в обратном порядке

spliterator

public Spliterator<E> spliterator()

Возвращает Spliterator по элементам в этом очереди.

Возвращаемый разделитель слабо согласован.

Разделитель Spliterator сообщает о Spliterator.CONCURRENT, Spliterator.ORDERED и Spliterator.NONNULL.

Указано в:
spliterator в интерфейсе Iterable<E>
Указано в:
spliterator в интерфейсе Collection<E>
Примечание к реализации:
Spliterator реализует trySplit для обеспечения ограниченной параллельности.
Возвращает:
Spliterator по элементам в этом очереди
С:
1.8

© 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.

Spec-Zone.ru

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