Класс AbstractQueue<E>
- Параметры типа:
E— тип элементов, хранящихся в этой очереди
- Все реализуемые интерфейсы:
Iterable<E>, Collection<E>, Queue<E>
- Прямые известные подклассы:
ArrayBlockingQueue, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue
public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E>
Queue. Реализации этого класса подходят в тех случаях, когда базовая реализация не допускает элементы null. Методы add, remove и element основаны соответственно на offer, poll и peek, но вместо указания на неудачу возвращаемыми значениями false или null выбрасывают исключения. Реализация Queue, расширяющая этот класс, должна как минимум определить метод Queue.offer(E), который не допускает вставки элементов null, а также методы Queue.peek(), Queue.poll(), Collection.size() и Collection.iterator(). Как правило, также переопределяются дополнительные методы. Если эти требования выполнить невозможно, вместо этого рассмотрите возможность создания подкласса AbstractCollection.
Этот класс является частью Java Collections Framework.
- Начиная с версии:
- 1.5
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для использования подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
add |
Вставляет указанный элемент в эту очередь, если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет — выбрасывает IllegalStateException. |
boolean |
addAll |
Добавляет в эту очередь все элементы указанной коллекции. |
void |
clear() |
Удаляет из этой очереди все элементы. |
E |
element() |
Извлекает, но не удаляет начало этой очереди. |
E |
remove() |
Извлекает и удаляет начало этой очереди. |
Методы, объявленные в классе AbstractCollection
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, toArray, toArray, toString
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе Collection
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
Подробное описание конструкторов
AbstractQueue
protected AbstractQueue()
Подробное описание методов
add
public boolean add(E e)
true, а если свободного места в данный момент нет — выбрасывает IllegalStateException. Эта реализация возвращает true, если вызов offer выполнен успешно, в противном случае выбрасывает IllegalStateException.
- Определено в:
-
addв интерфейсеCollection<E> - Определено в:
-
addв интерфейсеQueue<E> - Переопределено:
-
addв классеAbstractCollection<E> - Параметры:
-
e— добавляемый элемент - Возвращает:
-
true(как указано вCollection.add(E)) - Выбрасывает:
-
IllegalStateException— если в данный момент элемент невозможно добавить из-за ограничений емкости -
ClassCastException— если класс указанного элемента не позволяет добавить его в эту очередь -
NullPointerException— если указанный элемент равен null, а эта очередь не допускает null-элементы -
IllegalArgumentException— если какое-либо свойство этого элемента не позволяет добавить его в эту очередь
remove
public E remove()
poll только тем, что выбрасывает исключение, если очередь пуста. Эта реализация возвращает результат вызова poll, если только очередь не пуста.
- Определено в:
-
removeв интерфейсеQueue<E> - Возвращает:
- начало этой очереди
- Выбрасывает:
-
NoSuchElementException— если очередь пуста
element
public E element()
peek только тем, что выбрасывает исключение, если очередь пуста. Эта реализация возвращает результат вызова peek, если только очередь не пуста.
- Определено в:
-
elementв интерфейсеQueue<E> - Возвращает:
- начало этой очереди
- Выбрасывает:
-
NoSuchElementException— если очередь пуста
clear
public void clear()
Эта реализация вызывает poll повторно, пока метод не вернет null.
- Определено в:
-
clearв интерфейсеCollection<E> - Переопределено:
-
clearв классеAbstractCollection<E>
addAll
public boolean addAll(Collection<? extends E> c)
IllegalArgumentException. Кроме того, поведение этой операции не определено, если указанная коллекция изменяется во время ее выполнения. Эта реализация выполняет итерацию по указанной коллекции и поочередно добавляет в эту очередь каждый элемент, возвращаемый итератором. Исключение времени выполнения, возникшее при попытке добавить элемент (в частности, элемент null), может привести к тому, что к моменту выброса соответствующего исключения будут успешно добавлены лишь некоторые элементы.
- Определено в:
-
addAllв интерфейсеCollection<E> - Переопределено:
-
addAllв классеAbstractCollection<E> - Параметры:
-
c— коллекция, содержащая элементы для добавления в эту очередь - Возвращает:
-
true, если в результате вызова эта очередь изменилась - Выбрасывает:
-
ClassCastException— если класс какого-либо элемента указанной коллекции не позволяет добавить его в эту очередь -
NullPointerException— если указанная коллекция содержит элемент null, а эта очередь не допускает null-элементы, или если указанная коллекция равна null -
IllegalArgumentException— если какое-либо свойство элемента указанной коллекции не позволяет добавить его в эту очередь или если указанная коллекция является этой очередью -
IllegalStateException— если в данный момент невозможно добавить все элементы из-за ограничений на вставку - См. также:
© 1993, 2025, 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/25/docs/api/java.base/java/util/AbstractQueue.html