A specialized double-linked list of elements that extends LinkedListEntry.
This is not a generic data structure. It only accepts elements that extend the LinkedListEntry class. See the Queue implementations for generic collections that allow constant time adding and removing at the ends.
This is not a List implementation. Despite its name, this class does not implement the List interface. It does not allow constant time lookup by index.
Because the elements themselves contain the links of this linked list, each element can be in only one list at a time. To add an element to another list, it must first be removed from its current list (if any).
In return, each element knows its own place in the linked list, as well as
which list it is in. This allows constant time LinkedListEntry.addAfter
,
LinkedListEntry.addBefore
and LinkedListEntry.unlink operations
when all you have is the element.
A LinkedList
also allows constant time adding and removing at either end,
and a constant time length getter.
Constructors
- LinkedList()
-
Construct a new empty linked list.
Properties
- first → E
-
read-only
- isEmpty → bool
-
read-only
- iterator → Iterator<E>
-
read-only
- last → E
-
read-only
- length → int
-
read-only
- single → E
-
read-only
- hashCode → int
-
The hash code for this object.
read-only, inherited - isNotEmpty → bool
-
Returns true if there is at least one element in this collection.
read-only, inherited - runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited
Methods
-
add(
E entry) → void -
Add
entry
to the end of the linked list. -
addAll(
Iterable<E> entries) → void -
Add
entries
to the end of the linked list. -
addFirst(
E entry) → void -
Add
entry
to the beginning of the linked list. -
clear(
) → void -
Remove all elements from this linked list.
-
forEach(
void action(E entry)) → void -
Call
action
with each entry in this linked list. -
remove(
E entry) → bool -
Remove
entry
from the linked list. -
any(
bool f(E element)) → bool -
Checks whether any element of this iterable satisfies
test
.inherited -
contains(
Object element) → bool -
Returns true if the collection contains an element equal to
element
.inherited -
elementAt(
int index) → E -
Returns the
index
th element.inherited -
every(
bool f(E element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<T>(
Iterable<T> f(E element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited -
firstWhere(
bool test(E element), { E orElse() }) → E -
Returns the first element that satisfies the given predicate
test
.inherited -
fold<T>(
T initialValue, T combine(T previousValue, E element)) → T -
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited -
join(
[String separator = "" ]) → String -
Converts each element to a String and concatenates the strings.
inherited -
lastWhere(
bool test(E element), { E orElse() }) → E -
Returns the last element that satisfies the given predicate
test
.inherited -
map<T>(
T f(E e)) → Iterable<T> -
Returns a new lazy Iterable with elements that are created by calling
f
on each element of thisIterable
in iteration order.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited -
reduce(
E combine(E value, E element)) → E -
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited -
singleWhere(
bool test(E element)) → E -
Returns the single element that satisfies
test
.inherited -
skip(
int count) → Iterable<E> -
Returns an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(E value)) → Iterable<E> -
Returns an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
take(
int count) → Iterable<E> -
Returns a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(E value)) → Iterable<E> -
Returns a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable: true }) → List<E> -
Creates a List containing the elements of this Iterable.
inherited -
toSet(
) → Set<E> -
Creates a Set containing the same elements as this iterable.
inherited -
toString(
) → String -
Returns a string representation of (some of) the elements of
this
.inherited -
where(
bool test(E element)) → Iterable<E> -
Returns a new lazy Iterable with all elements that satisfy the predicate
test
.inherited