Java.Util.ArrayDeque Class
Resizable-array implementation of the Java.Util.IDeque interface.

See Also: ArrayDeque Members

Syntax

[Android.Runtime.Register("java/util/ArrayDeque", DoNotGenerateAcw=true)]
public class ArrayDeque : AbstractCollection, Java.IO.ISerializable, Java.Lang.ICloneable, IDeque, IDisposable

Remarks

Resizable-array implementation of the Java.Util.IDeque interface. Array deques have no capacity restrictions; they grow as necessary to support usage. They are not thread-safe; in the absence of external synchronization, they do not support concurrent access by multiple threads. Null elements are prohibited. This class is likely to be faster than Java.Util.Stack when used as a stack, and faster than Java.Util.LinkedList when used as a queue.

Most ArrayDeque operations run in amortized constant time. Exceptions include ArrayDeque.remove(java.lang.Object), ArrayDeque.RemoveFirstOccurrence(Java.Lang.Object), ArrayDeque.RemoveLastOccurrence(Java.Lang.Object), ArrayDeque.contains(java.lang.Object), ArrayDeque.Iterator, and the bulk operations, all of which run in linear time.

The iterators returned by this class's iterator method are fail-fast: If the deque is modified at any time after the iterator is created, in any way except through the iterator's own remove method, the iterator will generally throw a Java.Util.ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

This class and its iterator implement all of the optional methods of the Android.Runtime.JavaCollection and Java.Util.IIterator interfaces.

[Android Documentation]

Requirements

Namespace: Java.Util
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0
Since: Added in API level 9