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><scope=“col” style=“font-weight:normal; font-style:italic”>Returns special value</th<>/tr></thead<>tbody><tr<>th scope=“row”>Insert</th<>><td>#add(Object) add(e)</td td<>/td>#offer(Object) offer(e)<<>/tr><><th scope=“row”>Remove</th><td<>#remove() remove()/td td#poll() poll()<>></<>tr><tr<>th scope=“row”>Examine</th<>td>#element() element()</<>td td td/><td#peek() peek()></td/><tbody></table>

队列通常不一定按 FIFO(先出先出)的方式对元素进行排序。 例外之一是优先级队列,这些队列根据提供的比较器或元素的自然排序对元素进行排序,以及对元素 LIFO 进行排序的 LIFO 队列(或堆栈)(最后先出)。 无论使用何种排序, <队列的 em>head</em> 都是通过调用 #remove()#poll()删除的元素。 在 FIFO 队列中,所有新元素都插入到 <队列的 em>tail</em> 中。 其他类型的队列可能使用不同的放置规则。 每个 Queue 实现都必须指定其排序属性。

如果可能,该方法 #offer offer 将插入元素,否则返回 false。 这与 java.util.Collection#add Collection.add 方法不同,该方法只能通过引发未选中的异常来添加元素。 此方法 offer 设计用于在故障正常时使用,而不是异常情况,例如,在固定容量(或 “ 中)bounded“)队列。

#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.util.QueueJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
IsEmpty

如果不包含 Collection 任何元素,则返回。

(继承自 ICollection)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

Add(Object)

如果可以立即执行此操作而不违反容量限制,则向此队列插入指定的元素,并在成功后返回 true ,如果当前没有可用空间,则会 IllegalStateException 引发该元素。

AddAll(ICollection)

将指定集合中的所有元素添加到此集合(可选操作)。

(继承自 ICollection)
Clear()

从此集合中删除所有元素(可选操作)。

(继承自 ICollection)
Contains(Object)

返回 true 此集合是否包含指定的元素。

(继承自 ICollection)
ContainsAll(ICollection)

如果 true 此集合包含指定集合中的所有元素,则返回。

(继承自 ICollection)
Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Element()

检索此队列的头,但不删除。

Equals(Object)

将指定的对象与此集合进行比较,以便相等。

(继承自 ICollection)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
ForEach(IConsumer)

对每个元素执行给定操作,直到处理完所有元素 Iterable 或该操作引发异常。

(继承自 IIterable)
GetHashCode()

返回此集合的哈希代码值。

(继承自 ICollection)
Iterator()

返回此集合中元素的迭代器。

(继承自 ICollection)
Offer(Object)

如果可以立即执行此操作而不违反容量限制,请将指定的元素插入此队列中。

Peek()

检索但不删除此队列的头,或返回 null 此队列是否为空。

Poll()

检索和删除此队列的头,或返回 null 此队列是否为空。

Remove()

检索并删除此队列的头。

Remove(Object)

从此集合中删除指定元素的单个实例(如果存在)(可选操作)。

(继承自 ICollection)
RemoveAll(ICollection)

删除指定集合中包含的所有此集合元素(可选操作)。

(继承自 ICollection)
RemoveIf(IPredicate)

删除满足给定谓词的此集合的所有元素。

(继承自 ICollection)
RetainAll(ICollection)

仅保留指定集合中包含的此集合中的元素(可选操作)。

(继承自 ICollection)
SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

设计用于在处理之前保存元素的集合。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
Size()

返回此集合中的元素数。

(继承自 ICollection)
Spliterator()

Spliterator创建由此Iterable描述的元素。

(继承自 IIterable)
ToArray()

返回一个数组,其中包含此集合中的所有元素。

(继承自 ICollection)
ToArray(IIntFunction)

返回包含此集合中的所有元素的数组,该数组使用提供的 generator 函数分配返回的数组。

(继承自 ICollection)
ToArray(Object[])

返回一个数组,其中包含此集合中的所有元素;返回的数组的运行时类型是指定数组的运行时类型。

(继承自 ICollection)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

显式接口实现

IIterable.Spliterator()

在此集合中的元素上创建一个 Spliterator

(继承自 ICollection)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

设计用于在处理之前保存元素的集合。

GetJniTypeName(IJavaPeerable)

设计用于在处理之前保存元素的集合。

ToEnumerable(IIterable)

设计用于在处理之前保存元素的集合。

ToEnumerable<T>(IIterable)

设计用于在处理之前保存元素的集合。

适用于