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.

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 Iterator<E>
read-only

last → E
read-only

length int
read-only

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