语言

LinkedBlockingDeque 类

定义

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

[Android.Runtime.Register("java/util/concurrent/LinkedBlockingDeque", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LinkedBlockingDeque : Java.Util.AbstractQueue, IDisposable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingDeque
[<Android.Runtime.Register("java/util/concurrent/LinkedBlockingDeque", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedBlockingDeque = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IBlockingDeque
    interface IBlockingQueue
    interface IQueue
    interface ICollection
    interface IIterable
    interface IDeque
    interface ISequencedCollection
继承
属性
实现

注解

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

可选的容量绑定构造函数参数用作防止过度扩展的方法。 容量(如果未指定)等于 Integer#MAX_VALUE。 链接节点在每次插入时动态创建,除非这会使 deque 超出容量。

大多数操作以固定时间运行(忽略阻塞所用的时间)。 异常包括 #remove(Object) remove、 #removeFirstOccurrence removeFirstOccurrence、 #removeLastOccurrence removeLastOccurrence、 #contains contains和 #iterator iterator.remove()批量操作,所有这些操作都在线性时间运行。

此类及其迭代器实现和接口的所有 <em>可选</em> 方法Collection。Iterator

此类是 Java Collections Framework 的成员。

已在 1.6 中添加。

Java文档java.util.concurrent.LinkedBlockingDeque。

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

构造函数

名称 说明
LinkedBlockingDeque()

LinkedBlockingDeque创建容量为 .Integer#MAX_VALUE

LinkedBlockingDeque(ICollection)

LinkedBlockingDeque创建一个容量为Integer#MAX_VALUE(最初包含给定集合的元素)以迭代器遍历顺序添加的给定集合的元素。

LinkedBlockingDeque(Int32)

创建具有给定(固定)容量的 A LinkedBlockingDeque 。

LinkedBlockingDeque(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
First

检索但不删除此 deque 的第一个元素。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsEmpty

要添加

(继承自 AbstractCollection)
JniIdentityHashCode

获取互操作运行时分配给此Java对等的标识哈希代码。

(继承自 Object)
JniManagedPeerState

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
JniPeerMembers

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

Last

检索此 deque 的最后一个元素,但不删除。

PeerReference

获取此Java对等方的 JNI 对象引用。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
Add(Object)

要添加

(继承自 AbstractCollection)
AddAll(ICollection)

要添加

(继承自 AbstractCollection)
AddFirst(Object)

如果在不违反容量限制的情况下立即执行此操作,请在此 deque 的前面插入指定的元素,如果当前没有可用空间,则会引发 IllegalStateException。

AddLast(Object)

如果可以立即执行此操作而不违反容量限制,请在此 deque 的末尾插入指定的元素,如果当前没有可用空间,则会引发 IllegalStateException。

Clear()

要添加

(继承自 AbstractCollection)
Clone()

创建并返回此对象的副本。

(继承自 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
Contains(Object)

要添加

(继承自 AbstractCollection)
ContainsAll(ICollection)

要添加

(继承自 AbstractCollection)
DescendingIterator()

以反向顺序返回此 deque 中元素的迭代器。

Dispose()

释放此Java对等方持有的资源。

(继承自 Object)
Dispose(Boolean)

释放此Java对等方持有的资源。

(继承自 Object)
DisposeUnlessReferenced()

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
DrainTo(ICollection, Int32)

从此队列中移除最多给定数量的可用元素,并将其添加到给定集合。

DrainTo(ICollection)

从此队列中删除所有可用元素,并将其添加到给定集合。

Element()

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

(继承自 AbstractQueue)
Equals(Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
ForEach(IConsumer)

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

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Iterator()

按正确的顺序返回此 deque 中的元素的迭代器。

JavaFinalize()
已过时.

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Offer(Object, Int64, TimeUnit)

将指定的元素插入此 deque 所表示的队列(换句话说,在此 deque 的结尾),等待指定的等待时间(如有必要,空间可用)。

Offer(Object)

如果在不违反容量限制的情况下立即执行此操作,请将指定的元素插入到此 deque 的队列中(换句话说,在此 deque 的结尾处),如果当前没有可用空间,则返回 true。

OfferFirst(Object, Int64, TimeUnit)

在此 deque 的前面插入指定的元素,如果需要空间变为可用,则等待指定的等待时间。

OfferFirst(Object)

如果在不违反容量限制的情况下立即执行此操作,请在此 deque 的前面插入指定的元素,如果当前没有可用空间,则返回 true。如果当前没有可用空间,则返回 true。

OfferLast(Object, Int64, TimeUnit)

在此 deque 的末尾插入指定的元素,如果需要空间变为可用,则等待指定的等待时间。

OfferLast(Object)

如果可以在不违反容量限制的情况下立即执行此操作,请在此 deque 的末尾插入指定的元素,如果当前没有可用空间,则返回 true(如果当前没有可用空间)。

Peek()

检索(但不删除)此 deque 表示的队列的头(换句话说,此 deque 的第一个元素),或返回 null 此 deque 是否为空。

PeekFirst()

检索但不删除此 deque 的第一个元素,或返回 null 此 deque 为空。

PeekLast()

检索但不删除此 deque 的最后一个元素,或返回 null 此 deque 为空。

Poll()

检索并删除此 deque 所表示的队列的头(换句话说,此 deque 的第一个元素),或者返回 null 此 deque 为空。

Poll(Int64, TimeUnit)

检索并删除此 deque 所表示的队列的头(换句话说,即此 deque 的第一个元素),等待指定的等待时间(如有必要,使元素变得可用)。

PollFirst()

检索并删除此 deque 的第一个元素,或返回 null 此 deque 是否为空。

PollFirst(Int64, TimeUnit)

检索并删除此 deque 的第一个元素,并等待指定的等待时间(如有必要),使元素变得可用。

PollLast()

检索并删除此 deque 的最后一个元素,或返回 null 此 deque 是否为空。

PollLast(Int64, TimeUnit)

检索并删除此 deque 的最后一个元素,并等待指定的等待时间(如有必要),使元素变得可用。

Pop()

从此 deque 表示的堆栈中弹出元素。

Push(Object)

如果可以立即执行此操作而不违反容量限制,则将元素推送到由此 deque 的堆栈上(换句话说,位于此 deque 的头),如果当前没有可用空间,则会引发 IllegalStateException。

Put(Object)

将指定的元素插入此 deque 所表示的队列(换句话说,在此 deque 的结尾),如果需要空间可用,请等待。

PutFirst(Object)

在此 deque 的前面插入指定的元素,如有必要,等待空间变为可用。

PutLast(Object)

在此 deque 的末尾插入指定的元素,如有必要,等待空间变为可用。

RemainingCapacity()

返回此 deque 理想情况下(在没有内存或资源约束的情况下)接受且没有阻塞的其他元素数。

Remove()

检索并删除此队列的头。

(继承自 AbstractQueue)
Remove(Object)

要添加

(继承自 AbstractCollection)
RemoveAll(ICollection)

要添加

(继承自 AbstractCollection)
RemoveFirst()

检索并删除此 deque 的第一个元素。

RemoveFirstOccurrence(Object)

从此 deque 中删除指定元素的第一个匹配项。

RemoveIf(IPredicate)

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

RemoveLast()

检索并删除此 deque 的最后一个元素。

RemoveLastOccurrence(Object)

从此 deque 中删除指定元素的最后一个匹配项。

RetainAll(ICollection)

要添加

(继承自 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
Size()

返回此 deque 中的元素数。

Spliterator()

返回 Spliterator 此 deque 中的元素。

Take()

检索并删除此 deque 所表示的队列的头(换句话说,此 deque 的第一个元素),如有必要,请等待,直到某个元素可用。

TakeFirst()

检索并删除此 deque 的第一个元素,如有必要,请等待元素可用。

TakeLast()

检索并删除此 deque 的最后一个元素,如有必要,等待元素变为可用。

ToArray()

要添加

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

要添加

(继承自 AbstractCollection)
ToArray<T>()

从此Java数组包装器创建托管数组。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

从互操作运行时取消注册此Java对等。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.Finalized()

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

(继承自 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferAsync(IBlockingQueue, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferFirstAsync(IBlockingDeque, Object, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferFirstAsync(IBlockingDeque, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferLastAsync(IBlockingDeque, Object, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

OfferLastAsync(IBlockingDeque, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PollAsync(IBlockingQueue, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PollFirstAsync(IBlockingDeque, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PollLastAsync(IBlockingDeque, Int64, TimeUnit)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PutAsync(IBlockingQueue, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PutFirstAsync(IBlockingDeque, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

PutLastAsync(IBlockingDeque, Object)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

TakeAsync(IBlockingQueue)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

TakeFirstAsync(IBlockingDeque)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

TakeLastAsync(IBlockingDeque)

基于链接节点的可选绑定 BlockingDeque 阻止 deque。

ToEnumerable(IIterable)

返回IEnumerable循环访问JavaIIterable,允许foreach和 LINQ 与Java集合类型一起使用。 每个元素从其Java实例封送到相应的托管类型。

ToEnumerable<T>(IIterable)

返回一个IEnumerable<T>循环访问JavaIIterable,将每个元素封送给 T。 这允许foreach和 LINQ 与Java集合类型一起使用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于