A Queue implementation based on a double-linked list.

Allows constant time add, remove-at-ends and peek operations.

Extends
Implements

Properties

E first
read-only
bool isEmpty
read-only
bool isNotEmpty
read-only, inherited
Returns true if there is at least one element in this collection.
_DoubleLinkedQueueIterator<E> iterator
read-only
E last
read-only
int length
read-only
E single
read-only

Constructors

DoubleLinkedQueue()
DoubleLinkedQueue.from(Iterable elements)
Creates a double-linked queue containing all elements.

Methods

add(E value) → void
Adds value at the end of the queue.
addAll(Iterable<E> iterable) → void
Adds all elements of iterable at the end of the queue. The length of the queue is extended by the length of iterable.
addFirst(E value) → void
Adds value at the beginning of the queue.
addLast(E value) → void
Adds value at the end of the queue.
any(bool f(E element)) → bool
inherited
Checks whether any element of this iterable satisfies test.
clear() → void
Removes all elements in the queue. The size of the queue becomes zero.
contains(Object element) → bool
inherited
Returns true if the collection contains an element equal to element.
elementAt(int index) → E
inherited
Returns the indexth element.
every(bool f(E element)) → bool
inherited
Checks whether every element of this iterable satisfies test.
expand(Iterable f(E element)) → Iterable
inherited
Expands each element of this Iterableinto zero or more elements.
firstEntry() → DoubleLinkedQueueEntry<E>
firstWhere(bool test(E element), {E orElse()}) → E
inherited
Returns the first element that satisfies the given predicate test.
fold(initialValue, dynamic combine(previousValue, E element)) → dynamic
inherited
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
forEach(void f(E element)) → void
inherited
Applies the function f to each element of this collection in iteration order.
forEachEntry(void f(DoubleLinkedQueueEntry<E> element)) → void
join([String separator = ""]) → String
inherited
Converts each element to a String and concatenates the strings.
lastEntry() → DoubleLinkedQueueEntry<E>
lastWhere(bool test(E element), {E orElse()}) → E
inherited
Returns the last element that satisfies the given predicate test.
map(dynamic f(E element)) → Iterable
inherited
Returns a new lazy Iterable with elements that are created by calling f on each element of this Iterable in iteration order.
reduce(E combine(E value, E element)) → E
inherited
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
remove(Object o) → bool
Remove a single instance of value from the queue.
removeFirst() → E
Removes and returns the first element of this queue.
removeLast() → E
Removes and returns the last element of the queue.
removeWhere(bool test(E element)) → void
Removes all elements matched by test from the queue.
retainWhere(bool test(E element)) → void
Removes all elements not matched by test from the queue.
singleWhere(bool test(E element)) → E
inherited
Returns the single element that satisfies test.
skip(int count) → Iterable<E>
inherited
Returns an Iterable that provides all but the first count elements.
skipWhile(bool test(E value)) → Iterable<E>
inherited
Returns an Iterable that skips leading elements while test is satisfied.
take(int count) → Iterable<E>
inherited
Returns a lazy iterable of the count first elements of this iterable.
takeWhile(bool test(E value)) → Iterable<E>
inherited
Returns a lazy iterable of the leading elements satisfying test.
toList({bool growable: true}) → List<E>
inherited
Creates a List containing the elements of this Iterable.
toSet() → Set<E>
inherited
Creates a Set containing the same elements as this iterable.
toString() → String
Returns a string representation of (some of) the elements of this.
where(bool f(E element)) → Iterable<E>
inherited
Returns a new lazy Iterable with all elements that satisfy the predicate test.