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">подпись Summary of Queue methods</подпись>< thead><tr<>td></td<>th область="col" style="font-weight:normal; font-style:italic">Throws exception</th><область="col" style="font-weight:normal; font-style:italic">Returns special value/<>< th>/tr></thead><tbody<>tr<>th область="row">Insert</th<>td<>#add(Object) add(e)
/td/td><<<>>#offer(Object) offer(e)
/tr><tr<>th область="row">Remove</th<>td>#remove() remove()
</td<>td#poll() poll()
></td<>/tr><tr th><< область="строка">Проверка</th<>td<#element() element()
>/td><td#peek() peek()
<>/td<>/tr<>/tbody></table>
Обычно в очередях (но не обязательно) элементы упорядочивается в формате FIFO (первым в начале). Исключениями являются очереди приоритета, которые упорядочивает элементы в соответствии с предоставленным компаратором, или естественное упорядочение элементов, и очереди LIFO (или стеки), которые упорядочивает элементы LIFO (last-in-first-out). Независимо от используемого порядка, <em>head</em> очереди — это элемент, который будет удален вызовом #remove()
или #poll()
. В очереди FIFO все новые элементы вставляются в конечный <>или< конечный> фрагмент очереди. Другие типы очередей могут использовать другие правила размещения. Каждая Queue
реализация должна указывать свои свойства упорядочения.
Метод #offer offer
вставляет элемент, если это возможно, в противном случае возвращает false
. Это отличается от java.util.Collection#add Collection.add
метода , который может не добавлять элемент только путем создания непроверенного исключения. Метод offer
предназначен для использования, когда сбой является нормальным, а не исключительным событием, например в фиксированной емкости (или &кавыка; ограниченный") Очереди.
Методы #remove()
и #poll()
удаляют и возвращают головку очереди. Именно тот элемент, который удаляется из очереди, является функцией политики упорядочения очереди, которая отличается от реализации к реализации. Методы remove()
и poll()
отличаются только в том случае, если очередь пуста: 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 License.
Свойства
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) |
Коллекция, предназначенная для хранения элементов перед обработкой. |