A Queue implementation based on a double-linked list.

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

Inheritance
Implements

Properties

first → E
read-only

isEmpty bool
read-only

isNotEmpty bool
read-only, inherited

Returns true if there is at least one element in this collection.

iterator → _DoubleLinkedQueueIterator<E>
read-only

last → E
read-only

length int
read-only

single → E
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.