語言

ConcurrentLinkedDeque 類別

定義

基於連結節點的無界並行 Deque deque。

[Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedDeque", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ConcurrentLinkedDeque : Java.Util.AbstractCollection, IDisposable, Java.IO.ISerializable, Java.Util.IDeque
[<Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedDeque", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ConcurrentLinkedDeque = class
    inherit AbstractCollection
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IDeque
    interface IQueue
    interface ICollection
    interface IIterable
    interface ISequencedCollection
繼承
ConcurrentLinkedDeque
屬性
實作

備註

基於連結節點的無界並行 Deque deque。 同時插入、移除與存取操作能在多個執行緒間安全執行。 當多個執行緒共享共用集合時,A ConcurrentLinkedDeque 是合適的選擇。 與大多數其他並行集合實作一樣,此類別不允許使用 null 元素。

迭代器和分裂器是<>弱<一致性/i>。

請注意,與大多數集合不同,該 size 方法是 <em>NOT</em> 為常數時間操作。 由於這些排隊的非同步特性,要確定目前元素數量需要遍歷元素,若在穿越過程中修改此集合,可能會報告不準確的結果。

加入、移除或檢查多個元素的 #addAll批量操作,如 , #removeIf#forEach或 ,則是 <em>not</> em 保證會以原子方式執行。 例如,與操作forEach同時進行addAll的遍歷可能只觀察到部分新增元素。

這個類別及其迭代器實作了 和 介面中所有 <em>可選</em> 方法Deque。Iterator

記憶體一致性效應:與其他並行集合一樣,執行緒中在將物件放入 ConcurrentLinkedDeque<i><> 之前/i 之前的動作,發生在該元素ConcurrentLinkedDeque從另一個執行緒中移除後。

此類別是 Java 集合框架的成員。

在 1.7 版本中加入。

Java 文件 java.util.concurrent.ConcurrentLinkedDeque。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
ConcurrentLinkedDeque()

構建一個空的排隊。

ConcurrentLinkedDeque(ICollection)

構造一個初始包含給定集合元素的雙曲線,並依照集合的迭代子遍歷順序加入。

ConcurrentLinkedDeque(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

名稱 Description
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
First

取回但不移除這個雙排的第一元素。

Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsEmpty

待補充

(繼承來源 AbstractCollection)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
JniPeerMembers

基於連結節點的無界並行 Deque deque。

Last

取回但不移除這個雙排的最後一個元素。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

方法

名稱 Description
Add(Object)

待補充

(繼承來源 AbstractCollection)
AddAll(ICollection)

待補充

(繼承來源 AbstractCollection)
AddFirst(Object)

將指定元素插入該排隊的前端。

AddLast(Object)

在此排隊末端插入指定元素。

Clear()

待補充

(繼承來源 AbstractCollection)
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
Contains(Object)

待補充

(繼承來源 AbstractCollection)
ContainsAll(ICollection)

待補充

(繼承來源 AbstractCollection)
DescendingIterator()

以反向順序回傳此雙線中元素的迭代器。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
Element()

回收但不移除由此排隊代表的隊列首(換言之,該排隊的第一個元素)。

Equals(Object)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
ForEach(IConsumer)

對可迭代的每個元素執行指定動作,直到所有元素處理完畢或動作拋出例外為止。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
Iterator()

回傳對該雙線中元素的迭代器,按正確順序。

JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
Offer(Object)

將指定元素插入該雙排尾部。

OfferFirst(Object)

將指定元素插入該排隊的前端。

OfferLast(Object)

在此排隊末端插入指定元素。

Peek()

取回但不移除由此排隊代表的隊列首(換言之,該排隊的第一個元素),若排隊為空,則返回 null 。

PeekFirst()

回收但不移除該排隊的第一個元素,若排隊為空則返回 null 。

PeekLast()

取回但不移除這個雙排的最後一個元素,若此排隊為空則返回 null 。

Poll()

擷取並移除由該排隊代表的隊列首(換言之,該排隊的第一個元素),若排隊為空,則返回 null 。

PollFirst()

取回並移除這個雙點的第一個元素,或如果這個雙點為空,則返回 null 。

PollLast()

取回並移除該雙線的最後一個元素,或若此雙線為空則返回 null 。

Pop()

從這組 deque 代表的堆疊中彈出一個元素。

Push(Object)

若能立即將元素推入該佇列代表的堆疊(也就是該佇列的頂端),若能立即執行且不違反容量限制,則拋出 IllegalStateException。

Remove()

取回並移除由此排隊代表的隊列首(換言之,該排隊的第一個元素)。

Remove(Object)

待補充

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

待補充

(繼承來源 AbstractCollection)
RemoveFirst()

取回並移除這個雙點的第一個元素。

RemoveFirstOccurrence(Object)

移除該元素首次出現於此排隊。

RemoveIf(IPredicate)

移除該集合中所有滿足該謂詞的元素。

RemoveLast()

取回並移除這個 deque 的最後一個元素。

RemoveLastOccurrence(Object)

移除該元素最後出現的部分。

RetainAll(ICollection)

待補充

(繼承來源 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
Size()

返回此排隊中的元素數量。

Spliterator()

在這個 deque 中回傳 a Spliterator 元素。

ToArray()

待補充

(繼承來源 AbstractCollection)
ToArray(Object[])

待補充

(繼承來源 AbstractCollection)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

基於連結節點的無界並行 Deque deque。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

基於連結節點的無界並行 Deque deque。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

基於連結節點的無界並行 Deque deque。

ToEnumerable(IIterable)

回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 foreach 和 LINQ 與 Java 集合類型一起使用。 每個元素都會從其 Java 實例編組到對應的受管理型別。

ToEnumerable<T>(IIterable)

回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 T。 這使得 foreach LINQ 可以搭配 Java 集合類型一起使用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於