dart:collection
 LinkedList<E extends LinkedListEntry<E>> class 
  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.insertAfter, LinkedListEntry.insertBefore 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.
    - Inheritance
   
   Constructors
  -  LinkedList() 
  -  Construct a new empty linked list. 
  
   Properties
  -  first → E 
read-only, override
  -  Returns the first element. [...]  
  -  isEmpty → bool 
read-only, override
  -  Returns 
true if there are no elements in this collection. [...]    -  iterator → Iterator<E> 
read-only, override
  -  Returns a new 
Iterator that allows iterating the elements of this Iterable. [...]    -  last → E 
read-only, override
  -  Returns the last element. [...]  
  -  length → int 
read-only, override
  -  Returns the number of elements in this. [...]  
  -  single → E 
read-only, override
  -  Checks that this iterable has only one element, and returns that element. [...]  
  -  hashCode → int 
read-only, inherited
  -  The hash code for this object. [...]  
  -  isNotEmpty → bool 
read-only, inherited
  -  Returns true if there is at least one element in this collection. [...]  
  -  runtimeType → Type 
read-only, inherited
  -  A representation of the runtime type of the object.  
  
   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  
override
  -  Call 
action with each entry in this linked list. [...]    -  remove(E entry) → bool  
  -  Remove 
entry from the linked list. [...]   -  any(bool test(E element)) → bool  
inherited
  -  Checks whether any element of this iterable satisfies 
test. [...]    -  cast<R>() → Iterable<R>  
inherited
  -  Provides a view of this iterable as an iterable of 
R instances. [...]    -  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 test(E element)) → bool  
inherited
  -  Checks whether every element of this iterable satisfies 
test. [...]    -  expand<T>(Iterable<T> f(E element)) → Iterable<T>  
inherited
  -  Expands each element of this Iterable into zero or more elements. [...]  
  -  firstWhere(bool test(E element), { E orElse() }) → E  
inherited
  -  Returns the first element that satisfies the given predicate 
test. [...]    -  fold<T>(T initialValue,  T combine(T previousValue,  E element)) → T  
inherited
  -  Reduces a collection to a single value by iteratively combining each element of the collection with an existing value [...]  
  -  followedBy(Iterable<E> other) → Iterable<E>  
inherited
  -  Returns the lazy concatentation of this iterable and 
other. [...]    -  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<T>(T f(E e)) → Iterable<T>  
inherited
  -  Returns a new lazy Iterable with elements that are created by calling 
f on each element of this Iterable in iteration order. [...]    -  noSuchMethod(Invocation invocation) → dynamic  
inherited
  -  Invoked when a non-existent method or property is accessed. [...]  
  -  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. [...]  
  -  singleWhere(bool test(E element), { E orElse() }) → 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  
inherited
  -  Returns a string representation of (some of) the elements of 
this. [...]    -  where(bool test(E element)) → Iterable<E>  
inherited
  -  Returns a new lazy Iterable with all elements that satisfy the predicate 
test. [...]    -  whereType<T>() → Iterable<T>  
inherited
  -  Returns a new lazy Iterable with all elements that have type 
T. [...]    
   Operators
  -  operator ==(dynamic other) → bool  
inherited
  -  The equality operator. [...]