Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов сохранен в этом наборе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.
Collection
, LinkedList
, PriorityQueue
, LinkedBlockingQueue
, BlockingQueue
, ArrayBlockingQueue
, LinkedBlockingQueue
, PriorityBlockingQueue
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
add(E e)
Вставляет указанный элемент в эту очередь, если возможно сделать так сразу, не нарушая ограничения емкости, возвращая true на успех и бросая IllegalStateException, если никакое пространство не в настоящий момент доступно.
|
E |
element()
Получает, но не удаляет, глава этой очереди.
|
boolean |
offer(E e)
Вставляет указанный элемент в эту очередь, если возможно сделать так сразу, не нарушая ограничения емкости.
|
E |
peek()
Получает, но не удаляет, глава этой очереди, или возвращает null, если эта очередь пуста.
|
E |
poll()
Получает и удаляет главу этой очереди, или возвращает null, если эта очередь пуста.
|
E |
remove()
Получает и удаляет главу этой очереди.
|
boolean add(E e)
add
в интерфейсе Collection<E>
e
- элемент, чтобы добавитьCollection.add(E)
)IllegalStateException
- если элемент не может быть добавлен в это время из-за ограничений емкостиClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой очередиNullPointerException
- если указанный элемент является нулем, и эта очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство этого элемента препятствует тому, чтобы это было добавлено к этой очередиboolean offer(E e)
add(E)
, который может быть не в состоянии вставить элемент только, выдавая исключение.e
- элемент, чтобы добавитьClassCastException
- если класс указанного элемента препятствует тому, чтобы это было добавлено к этой очередиNullPointerException
- если указанный элемент является нулем, и эта очередь не разрешает нулевые элементыIllegalArgumentException
- если некоторое свойство этого элемента препятствует тому, чтобы это было добавлено к этой очередиE remove()
poll
только в этом это выдает исключение, если эта очередь пуста.NoSuchElementException
- если эта очередь пустаE poll()
E element()
peek
только в этом это выдает исключение, если эта очередь пуста.NoSuchElementException
- если эта очередь пустаE peek()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.