Spec-Zone.ru › OpenJDK 21

Интерфейс Queue<E>

Параметры типа:
E - тип элементов, хранящихся в этой очереди
Все суперинтерфейсы:
Collection<E>, Iterable<E>
Все известные дочерние интерфейсы:
BlockingDeque<E>, BlockingQueue<E>, Deque<E>, TransferQueue<E>
Все известные реализующие классы:
AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue
public interface Queue<E> extends Collection<E>
Коллекция, предназначенная для хранения элементов до обработки. Помимо основных Collection операций, очереди предоставляют дополнительные операции вставки, извлечения и проверки. Каждая из этих операций существует в двух формах: одна выбрасывает исключение, если операция не удается, другая возвращает специальное значение (либо null или false, в зависимости от операции). Последняя форма операции вставки специально разработана для использования с ограниченными по емкости Queue реализациями; в большинстве реализаций операции вставки не могут завершиться ошибкой.
Сводка методов очереди
Выбрасывает исключение Возвращает специальное значение
Вставка add(e) offer(e)
Удаление remove() poll()
Просмотр element() peek()

Очереди обычно, но не обязательно, упорядочивают элементы в порядке FIFO (первым вошел, первым вышел). К исключениям относятся очереди с приоритетами, которые упорядочивают элементы в соответствии с предоставленным компаратором или естественным порядком элементов, и очереди LIFO (или стеки), которые упорядочивают элементы по принципу LIFO (последним вошел, первым вышел). Какой бы порядок ни использовался, голова очереди — это тот элемент, который будет удален при вызове remove() или poll(). В очереди FIFO все новые элементы вставляются в хвост очереди. Другие типы очередей могут использовать другие правила размещения. Каждая Queue реализация должна указать свои свойства порядка.

Метод offer вставляет элемент, если это возможно, в противном случае возвращает false. Это отличается от метода Collection.add, который может не добавить элемент только путем выбрасывания исключения.

Метод offer предназначен для использования в тех случаях, когда ошибка является обычным, а не исключительным событием, например, в очередях с фиксированной емкостью (или «ограниченной» емкостью).

Методы remove() и poll() удаляют и возвращают голову очереди. Точно какой элемент удаляется из очереди зависит от политики упорядочения очереди, которая отличается в разных реализациях. Методы remove() и poll() различаются только по поведению в случае пустой очереди: метод remove() вызывает исключение, а метод poll() возвращает null.

Методы element() и peek() возвращают, но не удаляют, голову очереди.

Интерфейс Queue не определяет блокирующие методы очереди, которые являются общими в параллельном программировании. Эти методы, которые ждут появления элементов или освобождения места, определены в интерфейсе BlockingQueue, который расширяет этот интерфейс.

Queue реализации обычно не допускают вставки null элементов, хотя некоторые реализации, такие как LinkedList, не запрещают вставки null. Даже в реализациях, которые это позволяют, null не должны вставляться в Queue, так как null также используется как специальное возвращаемое значение методом poll для указания того, что очередь не содержит элементов.

Queue реализации обычно не определяют версий методов equals и hashCode на основе элементов, а вместо этого наследуют версии на основе идентификаторов от класса Object, поскольку равенство элементов не всегда хорошо определено для очередей с одинаковыми элементами, но разными свойствами упорядочения.

Этот интерфейс является членом Java Collections Framework.

С тех пор:
1.5

Сводка методов

Модификатор и тип Метод Описание
boolean add(E e)
Вставляет указанный элемент в эту очередь, если это возможно сделать немедленно без нарушения ограничений на емкость, возвращает true при успехе и вызывает IllegalStateException если доступно нет места.
E element()
Получает, но не удаляет, голову этой очереди.
boolean offer(E e)
Вставляет указанный элемент в эту очередь, если это возможно сделать немедленно без нарушения ограничений на емкость.
E peek()
Возвращает, но не удаляет, голову этой очереди или возвращает null , если эта очередь пуста.
E poll()
Возвращает и удаляет голову этой очереди или возвращает null , если эта очередь пуста.
E remove()
Возвращает и удаляет голову этой очереди.

Методы, объявленные в интерфейсе java.util.Collection

addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray

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

forEach

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

add

boolean add(E e)
Вставляет указанный элемент в эту очередь, если это возможно сделать немедленно без нарушения ограничений по емкости, возвращая true при успехе и выбрасывая IllegalStateException , если в данный момент нет места.
Определено в:
add в интерфейсе Collection<E>
Параметры:
e - добавляемый элемент
Возвращает:
true (как указано в Collection.add(E))
Исключения:
IllegalStateException - если элемент не может быть добавлен в данный момент из-за ограничений по емкости
ClassCastException - если класс указанного элемента препятствует его добавлению в эту очередь
NullPointerException - если указанный элемент равен null, и эта очередь не допускает null-элементов
IllegalArgumentException - если какое-либо свойство этого элемента препятствует его добавлению в эту очередь

offer

boolean offer(E e)
Вставляет указанный элемент в эту очередь, если это возможно сделать немедленно без нарушения ограничений по емкости. При использовании очереди с ограниченной емкостью этот метод обычно предпочтительнее add(E), который может не вставить элемент только путем выброса исключения.
Параметры:
e - добавляемый элемент
Возвращает:
true , если элемент был добавлен в эту очередь, иначе false
Исключения:
ClassCastException - если класс указанного элемента препятствует его добавлению в эту очередь
NullPointerException - если указанный элемент равен null, и эта очередь не допускает null-элементов
IllegalArgumentException - если какое-либо свойство этого элемента препятствует его добавлению в эту очередь

remove

E remove()
Извлекает и удаляет голову этой очереди. Этот метод отличается от poll() только тем, что выбросит исключение, если эта очередь пуста.
Возвращает:
голова этой очереди
Исключения:
NoSuchElementException - если эта очередь пуста

poll

E poll()
Извлекает и удаляет голову этой очереди или возвращает null , если эта очередь пуста.
Возвращает:
голова этой очереди или null , если эта очередь пуста

element

E element()
Извлекает, но не удаляет, голову этой очереди. Этот метод отличается от peek только тем, что выбросит исключение, если эта очередь пуста.
Возвращает:
голова этой очереди
Исключения:
NoSuchElementException - если эта очередь пуста

peek

E peek()
Извлекает, но не удаляет, голову этой очереди или возвращает null , если эта очередь пуста.
Возвращает:
голова этой очереди или null , если эта очередь пуста

© 1993, 2023, 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/21/docs/api/java.base/java/util/Queue.html

Spec-Zone.ru

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