Класс 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(Collection<? extends E> c) Создает |
LinkedBlockingDeque(int capacity) Создает |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
add(E e) Вставляет указанный элемент в конец этого двустороннего очереди, если это не нарушит ограничения по емкости. |
void |
addFirst(E e) Вставляет указанный элемент в начало этого двустороннего очереди, если это возможно сделать немедленно без нарушения ограничений по емкости, выбрасывая |
void |
addLast(E e) Вставляет указанный элемент в конец этого двустороннего очереди, если это возможно сделать немедленно без нарушения ограничений по емкости, выбрасывая |
void |
clear() Атомарно удаляет все элементы из этого двустороннего очереди. |
boolean |
contains(Object o) Возвращает |
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) Вставляет указанный элемент в очередь, представленную этим двусторонним очереди (другими словами, в хвост этого двустороннего очереди), если это возможно сделать немедленно без нарушения ограничений по емкости, возвращая |
boolean |
offer(E e,
long timeout,
TimeUnit unit) Вставляет указанный элемент в очередь, представленную этим двусторонним очереди (другими словами, в хвост этого двустороннего очереди), ожидая до указанного времени ожидания, если необходимо, пока место не станет доступным. |
boolean |
offerFirst(E e) Вставляет указанный элемент в начало этого двустороннего очереди, если это возможно сделать немедленно без нарушения ограничений по емкости, возвращая |
boolean |
offerFirst(E e,
long timeout,
TimeUnit unit) Вставляет указанный элемент в начало этого двустороннего очереди, ожидая до указанного времени ожидания, если необходимо, пока место не станет доступным. |
boolean |
offerLast(E e) Вставляет указанный элемент в конец этого двустороннего очереди, если это возможно сделать немедленно без нарушения ограничений по емкости, возвращая |
boolean |
offerLast(E e,
long timeout,
TimeUnit unit) Вставляет указанный элемент в конец этого двустороннего очереди, ожидая до указанного времени ожидания, если необходимо, пока место не станет доступным. |
E |
peek() Получает, но не удаляет, голову очереди, представленной этим двусторонним очереди (другими словами, первый элемент этого двустороннего очереди), или возвращает |
E |
peekFirst() Получает, но не удаляет, первый элемент этого двустороннего очереди, или возвращает |
E |
peekLast() Получает, но не удаляет, последний элемент этого двустороннего очереди, или возвращает |
E |
poll() Получает и удаляет голову очереди, представленной этим двусторонним очереди (другими словами, первый элемент этого двустороннего очереди), или возвращает |
E |
poll(long timeout,
TimeUnit unit) Получает и удаляет голову очереди, представленной этим двусторонним очереди (другими словами, первый элемент этого двустороннего очереди), ожидая до указанного времени ожидания, если необходимо, пока элемент не станет доступным. |
E |
pollFirst() Получает и удаляет первый элемент этого двустороннего очереди, или возвращает |
E |
pollFirst(long timeout,
TimeUnit unit) Получает и удаляет первый элемент этого двустороннего очереди, ожидая до указанного времени ожидания, если необходимо, пока элемент не станет доступным. |
E |
pollLast() Получает и удаляет последний элемент этого двустороннего очереди, или возвращает |
E |
pollLast(long timeout,
TimeUnit unit) Получает и удаляет последний элемент этого двустороннего очереди, ожидая до указанного времени ожидания, если необходимо, пока элемент не станет доступным. |
E |
pop() Извлекает элемент из стека, представленного этим двусторонним очереди. |
void |
push(E e) Вставляет элемент в стек, представленный этим двусторонним очереди (другими словами, в начало этого двустороннего очереди), если это возможно сделать немедленно без нарушения ограничений по емкости, выбрасывая |
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() Возвращает |
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.