Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Возвращает true, если эта коллекция содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если эта коллекция содержит все элементы указанной коллекции. |
boolean |
isEmpty() |
Возвращает true, если коллекция не содержит элементов. |
abstract Iterator |
iterator() |
Возвращает итератор по элементам этой коллекции. |
boolean |
remove |
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательная операция). |
boolean |
removeAll |
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции (необязательная операция). |
boolean |
retainAll |
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция). |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этой коллекции. |
<T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; тип времени выполнения возвращаемого массива совпадает с типом указанного массива. |
String |
toString() |
Возвращает строковое представление этой коллекции. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Collection
equals, hashCode, parallelStream, removeIf, size, spliterator, stream, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает указанный объект с этой коллекцией на равенство. |
int |
hashCode() |
Возвращает значение хеш-кода этой коллекции. |
default Stream |
parallelStream() |
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция. |
default boolean |
removeIf |
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция). |
int |
size() |
Возвращает количество элементов в этой коллекции. |
default Spliterator |
spliterator() |
Создает Spliterator для элементов этой коллекции. |
default Stream |
stream() |
Возвращает последовательный Stream, источником которого является эта коллекция. |
default <T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; для создания возвращаемого массива используется предоставленная функция generator. |
Методы, объявленные в интерфейсе Iterable
forEach | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение. |
Методы, объявленные в интерфейсе Queue
offer, peek, poll | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
offer |
Вставляет указанный элемент в эту очередь, если это можно сделать немедленно, не нарушая ограничений по емкости. |
E |
peek() |
Получает, но не удаляет начало этой очереди или возвращает null, если очередь пуста. |
E |
poll() |
Получает и удаляет начало этой очереди или возвращает null, если очередь пуста. |
Подробное описание конструкторов
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.