IQueue Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Коллекция, предназначенная для хранения элементов перед обработкой.
[Android.Runtime.Register("java/util/Queue", "", "Java.Util.IQueueInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IQueue : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ICollection
[<Android.Runtime.Register("java/util/Queue", "", "Java.Util.IQueueInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IQueue = interface
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Производный
- Атрибуты
- Реализации
Комментарии
Коллекция, предназначенная для хранения элементов перед обработкой. Помимо основных Collection
операций очереди обеспечивают дополнительные операции вставки, извлечения и проверки. Каждый из этих методов существует в двух формах: один создает исключение, если операция завершается ошибкой, другая возвращает специальное значение ( null
или false
в зависимости от операции). Последняя форма операции вставки предназначена специально для использования с реализациями с ограничением Queue
емкости. В большинстве реализаций операции вставки не могут завершиться ошибкой.
<table class="striped">caption Summary of Queue methods</caption>><thead><tr><td/td<>>< th scope="col" style="font-weight:normal; font-style:italic">Throws exception</><th th scope="col" style="font-weight:normal; font-style:italic">Возвращает специальное значение</><th/tr/thead<>tbody<>tr<>>< th scope="row">Insert</th><<td/td></td/td<#offer(Object) offer(e)
<>>/tr tr<>th><scope="row">Remove</><th td>#remove() remove()
</td/<#poll() poll()
><>td/td/<>><tr tr tr><th scope="row">Examine</<>th td<>#element() element()
/#peek() peek()
<>><<>tr<>/tbody<>/table>#add(Object) add(e)
<>
Как правило, очереди, но не обязательно, упорядочивание элементов в формате FIFO (first-in-first-out). Среди исключений являются очереди приоритетов, которые упорядочивать элементы в соответствии с предоставленным компратором или естественным упорядочением элементов, и очереди LIFO (или стеки), которые упорядочивает элементы LIFO (последняя в первую очередь). Независимо от используемого упорядочения, em head</em>> очереди является этот элемент, <который будет удален вызовом #remove()
или #poll()
. В очереди FIFO все новые элементы вставляются в <>хвост< и em> очереди. Другие типы очередей могут использовать различные правила размещения. Каждая Queue
реализация должна указывать свои свойства упорядочения.
Метод #offer offer
вставляет элемент, если это возможно, в противном случае возвращается false
. Это отличается от java.util.Collection#add Collection.add
метода, который может не добавлять элемент, только вызывая исключение без флажка. Метод offer
предназначен для использования, если сбой является нормальным, а не исключительным вхождением, например в фиксированной емкости (или " bounded") Очереди.
#poll()
Методы #remove()
удаляют и возвращают голову очереди. Именно какой элемент удаляется из очереди, является функцией политики упорядочивания очереди, которая отличается от реализации до реализации. Методы poll()
remove()
отличаются только в их поведении, если очередь пуста: remove()
метод создает исключение, а poll()
метод возвращаетnull
.
Возвращаемые #element()
методы и #peek()
методы, но не удаляются, головка очереди.
Интерфейс Queue
не определяет методы блокирующей очереди, которые часто используются в параллельном программировании. Эти методы, ожидающие появления элементов или их доступности, определяются в интерфейсе java.util.concurrent.BlockingQueue
, который расширяет этот интерфейс.
Queue
Реализации обычно не допускают вставку null
элементов, хотя некоторые реализации, например LinkedList
, не запрещают вставку null
. Даже в реализациях, которые позволяют ему, null
не следует вставить в объект Queue
, как null
и в качестве специального возвращаемого значения poll
методом, чтобы указать, что очередь не содержит элементов.
Queue
Реализации обычно не определяют версии методов equals
на основе элементов, а hashCode
вместо этого наследуют версии на основе удостоверений из класса Object
, так как равенство на основе элементов не всегда четко определено для очередей с теми же элементами, но различными свойствами упорядочивания.
Добавлено в версии 1.5.
Документация по Java для java.util.Queue
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Свойства
Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
IsEmpty |
Возвращает, если этот |
JniIdentityHashCode |
Возвращает значение |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа к членам и вызовов. (Унаследовано от IJavaPeerable) |
PeerReference |
JniObjectReference Возвращает экземпляр объекта Java в оболочке. (Унаследовано от IJavaPeerable) |
Методы
Add(Object) |
Вставляет указанный элемент в эту очередь, если это можно сделать немедленно, не нарушая ограничения емкости, возвращая при успешном выполнении и вызывая |
AddAll(ICollection) |
Добавляет все элементы указанной коллекции в эту коллекцию (необязательно). (Унаследовано от ICollection) |
Clear() |
Удаляет все элементы из этой коллекции (необязательной операции). (Унаследовано от ICollection) |
Contains(Object) |
Возвращает, |
ContainsAll(ICollection) |
Возвращает, |
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если нет невыполненных ссылок на этот экземпляр, то вызывается |
Element() |
Извлекает, но не удаляет голову этой очереди. |
Equals(Object) |
Сравнивает указанный объект с этой коллекцией для равенства. (Унаследовано от ICollection) |
Finalized() |
Вызывается при завершении экземпляра. (Унаследовано от IJavaPeerable) |
ForEach(IConsumer) |
Выполняет заданное действие для каждого элемента |
GetHashCode() |
Возвращает хэш-значение кода для этой коллекции. (Унаследовано от ICollection) |
Iterator() |
Возвращает итератор по элементам в этой коллекции. (Унаследовано от ICollection) |
Offer(Object) |
Вставляет указанный элемент в эту очередь, если это можно сделать немедленно без нарушения ограничений емкости. |
Peek() |
Извлекает, но не удаляет, голову этой очереди или возвращает |
Poll() |
Извлекает и удаляет голову этой очереди или возвращает |
Remove() |
Извлекает и удаляет голову этой очереди. |
Remove(Object) |
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательно). (Унаследовано от ICollection) |
RemoveAll(ICollection) |
Удаляет все элементы этой коллекции, которые также содержатся в указанной коллекции (необязательной операции). (Унаследовано от ICollection) |
RemoveIf(IPredicate) |
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату. (Унаследовано от ICollection) |
RetainAll(ICollection) |
Сохраняет только элементы этой коллекции, содержащиеся в указанной коллекции (необязательной операции). (Унаследовано от ICollection) |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое |
SetJniManagedPeerState(JniManagedPeerStates) |
Коллекция, предназначенная для хранения элементов перед обработкой. (Унаследовано от IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое |
Size() |
Возвращает количество элементов в этой коллекции. (Унаследовано от ICollection) |
Spliterator() |
|
ToArray() |
Возвращает массив, содержащий все элементы в этой коллекции. (Унаследовано от ICollection) |
ToArray(IIntFunction) |
Возвращает массив, содержащий все элементы в этой коллекции, используя предоставленную |
ToArray(Object[]) |
Возвращает массив, содержащий все элементы в этой коллекции; Тип среды выполнения возвращаемого массива — это тип указанного массива. (Унаследовано от ICollection) |
UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Явные реализации интерфейса
IIterable.Spliterator() |
|
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Коллекция, предназначенная для хранения элементов перед обработкой. |
GetJniTypeName(IJavaPeerable) |
Коллекция, предназначенная для хранения элементов перед обработкой. |
ToEnumerable(IIterable) |
Коллекция, предназначенная для хранения элементов перед обработкой. |
ToEnumerable<T>(IIterable) |
Коллекция, предназначенная для хранения элементов перед обработкой. |