List based Queue.

Keeps a cyclic buffer of elements, and grows to a larger buffer when it fills up. This guarantees constant time peek and remove operations, and amortized constant time add operations.

The structure is efficient for any queue or stack usage.

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.
Iterator<E> iterator
read-only
E last
read-only
int length
read-only
E single
read-only

Constructors

ListQueue([int initialCapacity])
Create an empty queue.
ListQueue.from(Iterable elements)
Create a ListQueue containing all elements.

Methods

add(E value) → void
Adds value at the end of the queue.
addAll(Iterable<E> elements) → 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
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.
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 action(E element)) → void
Applies the function f to each element of this collection in iteration order.
join([String separator = ""]) → String
inherited
Converts each element to a String and concatenates the strings.
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 value) → 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
Remove all elements matched by test.
retainWhere(bool test(E element)) → void
Remove all elements not matched by test.
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>
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.