Spec-Zone.ru › OpenJDK 25

Класс AbstractQueue<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.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

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

AbstractQueue()
Модификатор Конструктор Описание
protected
Конструктор для использования подклассами.

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

Модификатор и тип Метод Описание
boolean add(E e)
Вставляет указанный элемент в эту очередь, если это можно сделать немедленно, не нарушая ограничений емкости; при успешном выполнении возвращает true, а если свободного места в данный момент нет — выбрасывает IllegalStateException.
boolean addAll(Collection<? extends E> c)
Добавляет в эту очередь все элементы указанной коллекции.
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

Методы, объявленные в интерфейсе Iterable

forEach

Методы, объявленные в интерфейсе Queue

offer, peek, poll

Подробное описание конструкторов

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)
Добавляет в эту очередь все элементы указанной коллекции. Попытка добавить очередь в саму себя с помощью addAll приводит к IllegalArgumentException. Кроме того, поведение этой операции не определено, если указанная коллекция изменяется во время ее выполнения.

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

Определено в:
addAll в интерфейсе Collection<E>
Переопределено:
addAll в классе AbstractCollection<E>
Параметры:
c — коллекция, содержащая элементы для добавления в эту очередь
Возвращает:
true, если в результате вызова эта очередь изменилась
Выбрасывает:
ClassCastException — если класс какого-либо элемента указанной коллекции не позволяет добавить его в эту очередь
NullPointerException — если указанная коллекция содержит элемент null, а эта очередь не допускает null-элементы, или если указанная коллекция равна null
IllegalArgumentException — если какое-либо свойство элемента указанной коллекции не позволяет добавить его в эту очередь или если указанная коллекция является этой очередью
IllegalStateException — если в данный момент невозможно добавить все элементы из-за ограничений на вставку
См. также:
  • add(Object)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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