ArrayDeque 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
介面的可調整陣列實作 Deque 。
[Android.Runtime.Register("java/util/ArrayDeque", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayDeque : Java.Util.AbstractCollection, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IDeque
[<Android.Runtime.Register("java/util/ArrayDeque", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ArrayDeque = class
inherit AbstractCollection
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface IDeque
interface IQueue
interface ICollection
interface IIterable
interface ISequencedCollection
- 繼承
- 屬性
- 實作
備註
介面的可調整陣列實作 Deque 。 陣列排列沒有容量限制;它們會根據需要生長以支持使用。 它們並非線程安全;在缺乏外部同步的情況下,它們不支援多執行緒的同時存取。 禁止使用零元素。 此類別通常比 Stack 用作堆疊時更快,也比 LinkedList 作為佇列使用時更快。
大多數 ArrayDeque 操作以攤還常數時間進行。 例外情況包括 #remove(Object) remove、 #removeFirstOccurrence removeFirstOccurrence、 #removeLastOccurrence removeLastOccurrence、 #contains contains#iterator iterator.remove()、 以及 bulk 運算,這些操作皆以線性時間進行。
此類別 #iterator() iterator 方法回傳的迭代器為 <em>fail-fast</em>:若在迭代器建立後的任何時間修改 deque,且非透過迭代器自身 remove 的方法,迭代器通常會拋出 ConcurrentModificationException。 因此,面對並行修改時,迭代器能迅速且乾淨地失敗,而非冒著未來某個未知時間出現任意且非確定性行為的風險。
請注意,迭代器的失效快速行為無法保證,因為一般而言,在存在非同步的並行修改時,無法做出任何硬性保證。 失效快速迭代器則是以盡力而為的方式投擲 ConcurrentModificationException 。 因此,撰寫依賴此例外來確保正確性的程式是錯誤的: 迭代器的快速失效行為應該只用來偵測錯誤。
此類別及其迭代器實<作了所有 em>可選</em> 方法Collection,包括 SequencedCollection 、 Iterator和 interface。
此類別是 Java 集合框架的成員。
新增於1.6版本。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| ArrayDeque() |
構造一個空陣列排隊,初始容量足以容納 16 個元素。 |
| ArrayDeque(ICollection) |
構造一個包含指定集合元素的 deque,依照集合迭代器回傳的順序排列。 |
| ArrayDeque(Int32) |
構造一個空陣列 deque,初始容量足以容納指定數量的元素。 |
| ArrayDeque(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| First |
取回但不移除這個雙排的第一元素。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| IsEmpty |
待補充 (繼承來源 AbstractCollection) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
介面的可調整陣列實作 |
| JniPeerMembers |
介面的可調整陣列實作 |
| 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() |
退回一份這張小碟。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
介面的可調整陣列實作 |
| Contains(Object) |
待補充 (繼承來源 AbstractCollection) |
| ContainsAll(ICollection) |
待補充 (繼承來源 AbstractCollection) |
| DescendingIterator() |
以反向順序回傳此雙線中元素的迭代器。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
介面的可調整陣列實作 |
| Element() |
取回但不移除由此排隊代表的隊列首端。 |
| Equals(Object) |
介面的可調整陣列實作 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| ForEach(IConsumer) |
介面的可調整陣列實作 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| Iterator() |
回傳此 deque 元素的迭代器。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Offer(Object) |
在此排隊末端插入指定元素。 |
| OfferFirst(Object) |
將指定元素插入該排隊的前端。 |
| OfferLast(Object) |
在此排隊末端插入指定元素。 |
| Peek() |
擷取但不移除由此排隊代表的隊列首,若排隊為空則返回 |
| PeekFirst() |
回收但不移除該排隊的第一個元素,若排隊為空則返回 |
| PeekLast() |
取回但不移除這個雙排的最後一個元素,若此排隊為空則返回 |
| Poll() |
擷取並移除由該排隊代表的隊列首(換言之,該排隊的第一個元素),若排隊為空,則返回 |
| PollFirst() |
取回並移除這個雙點的第一個元素,或如果這個雙點為空,則返回 |
| PollLast() |
取回並移除該雙線的最後一個元素,或若此雙線為空則返回 |
| Pop() |
從這組 deque 代表的堆疊中彈出一個元素。 |
| Push(Object) |
將一個元素推入由此 deque 代表的堆疊。 |
| 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) |
介面的可調整陣列實作 |
| Size() |
返回此排隊中的元素數量。 |
| Spliterator() |
在這個 deque 中,能創造一個 em<late-binding>/em<>和 em<fail-fast>/em<> 的元素。 |
| 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() |
介面的可調整陣列實作 |
| IJavaPeerable.Finalized() |
介面的可調整陣列實作 |
| IJavaPeerable.JniObjectReferenceControlBlock |
介面的可調整陣列實作 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
介面的可調整陣列實作 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
介面的可調整陣列實作 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
介面的可調整陣列實作 |
| IJavaPeerable.UnregisterFromRuntime() |
介面的可調整陣列實作 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
介面的可調整陣列實作 |
| ToEnumerable(IIterable) |
回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 |
| ToEnumerable<T>(IIterable) |
回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |