Share via


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 操作外,队列还提供其他插入、提取和检查操作。 其中每种方法都以两种形式存在:一种方法在操作失败时引发异常,另一种方法 (nullfalse返回特殊值,具体取决于操作) 。 插入操作的后一种形式专为与容量受限 Queue 的实现一起使用而设计;在大多数实现中,插入操作不会失败。

<table class=“striped”>描述文字Summary of Queue methods</描述文字><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”>Returns special value</th<>/tr<>/thead<>tbody tr><>><<th scope=“row”>Insert</th><td><#add(Object) add(e)/td><td>#offer(Object) offer(e)</td></tr><><th scope=“row”>Remove</th><td><#remove() remove()/td td<><#poll() poll()>/td></tr><th<>scope=“row”>Examine</th><td><#element() element()/td td>#peek() peek()<<>/><tr<>/tbody></table>

队列通常(但不一定)以 FIFO (先出) 方式对元素进行排序。 例外包括优先级队列(根据提供的比较器对元素进行排序)或元素的自然排序,以及 (或堆栈) 对元素进行排序的 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 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

属性

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)

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

适用于