dart:collection
ListMixin<E> class
Base implementation of a List class.
ListMixin
can be used as a mixin to make a class implement the List
interface.
This implements all read operations using only the length
and operator[]
members. It implements write operations using those and length=
and operator[]=
NOTICE: Forwarding just these four operations to a normal growable List (as created by new List()
) will give very bad performance for add
and addAll
operations of ListBase
. These operations are implemented by increasing the length of the list by one for each add
operation, and repeatedly increasing the length of a growable list is not efficient. To avoid this, either override 'add' and 'addAll' to also forward directly to the growable list, or, if possible, use DelegatingList
from "package:collection/wrappers.dart" instead.
- Implemented types
-
- Implementers
Constructors
- ListMixin()
Properties
- first ↔ E
read / write, override
- Returns the first element. [...]
- isEmpty → bool
read-only, override
- Returns
true
if there are no elements in this collection. [...] - isNotEmpty → bool
read-only, override
- Returns true if there is at least one element in this collection. [...]
- iterator → Iterator<E>
read-only, override
- Returns a new
Iterator
that allows iterating the elements of this Iterable
. [...] - last ↔ E
read / write, override
- Returns the last element. [...]
- reversed → Iterable<E>
read-only, override
- Returns an Iterable of the objects in this list in reverse order.
- 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. [...]
- length ↔ int
read / write, inherited
- Returns the number of objects in this list. [...]
- runtimeType → Type
read-only, inherited
- A representation of the runtime type of the object.
Methods
- add(E element) → void
override
- Adds
value
to the end of this list, extending the length by one. [...] - addAll(Iterable<E> iterable) → void
override
- Appends all objects of
iterable
to the end of this list. [...] - any(bool test(E element)) → bool
override
- Checks whether any element of this iterable satisfies
test
. [...] - asMap() → Map<int, E>
override
- Returns an unmodifiable Map view of
this
. [...] - cast<R>() → List<R>
override
- Returns a view of this list as a list of
R
instances. [...] - clear() → void
override
- Removes all objects from this list; the length of the list becomes zero. [...]
- contains(Object element) → bool
override
- Returns true if the collection contains an element equal to
element
. [...] - elementAt(int index) → E
override
- Returns the
index
th element. [...] - every(bool test(E element)) → bool
override
- Checks whether every element of this iterable satisfies
test
. [...] - expand<T>(Iterable<T> f(E element)) → Iterable<T>
override
- Expands each element of this Iterable into zero or more elements. [...]
- fillRange(int start, int end, [ E fill ]) → void
override
- Sets the objects in the range
start
inclusive to end
exclusive to the given fillValue
. [...] - firstWhere(bool test(E element), { E orElse() }) → E
override
- Returns the first element that satisfies the given predicate
test
. [...] - fold<T>(T initialValue, T combine(T previousValue, E element)) → T
override
- 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>
override
- Returns the lazy concatentation of this iterable and
other
. [...] - forEach(void action(E element)) → void
override
- Applies the function
f
to each element of this collection in iteration order. - getRange(int start, int end) → Iterable<E>
override
- Returns an Iterable that iterates over the objects in the range
start
inclusive to end
exclusive. [...] - indexOf(Object element, [ int start = 0 ]) → int
override
- Returns the first index of
element
in this list. [...] - indexWhere(bool test(E element), [ int start = 0 ]) → int
override
- Returns the first index in the list that satisfies the provided
test
. [...] - insert(int index, E element) → void
override
- Inserts the object at position
index
in this list. [...] - insertAll(int index, Iterable<E> iterable) → void
override
- Inserts all objects of
iterable
at position index
in this list. [...] - join([String separator = "" ]) → String
override
- Converts each element to a String and concatenates the strings. [...]
- lastIndexOf(Object element, [ int start ]) → int
override
- Returns the last index of
element
in this list. [...] - lastIndexWhere(bool test(E element), [ int start ]) → int
override
- Returns the last index in the list that satisfies the provided
test
. [...] - lastWhere(bool test(E element), { E orElse() }) → E
override
- Returns the last element that satisfies the given predicate
test
. [...] - map<T>(T f(E element)) → Iterable<T>
override
- 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 previousValue, E element)) → E
override
- Reduces a collection to a single value by iteratively combining elements of the collection using the provided function. [...]
- remove(Object element) → bool
override
- Removes the first occurrence of
value
from this list. [...] - removeAt(int index) → E
override
- Removes the object at position
index
from this list. [...] - removeLast() → E
override
- Pops and returns the last object in this list. [...]
- removeRange(int start, int end) → void
override
- Removes the objects in the range
start
inclusive to end
exclusive. [...] - removeWhere(bool test(E element)) → void
override
- Removes all objects from this list that satisfy
test
. [...] - replaceRange(int start, int end, Iterable<E> newContents) → void
override
- Removes the objects in the range
start
inclusive to end
exclusive and inserts the contents of replacement
in its place. [...] - retainWhere(bool test(E element)) → void
override
- Removes all objects from this list that fail to satisfy
test
. [...] - setAll(int index, Iterable<E> iterable) → void
override
- Overwrites objects of
this
with the objects of iterable
, starting at position index
in this list. [...] - setRange(int start, int end, Iterable<E> iterable, [ int skipCount = 0 ]) → void
override
- Copies the objects of
iterable
, skipping skipCount
objects first, into the range start
, inclusive, to end
, exclusive, of the list. [...] - shuffle([Random random ]) → void
override
- Shuffles the elements of this list randomly.
- singleWhere(bool test(E element), { E orElse() }) → E
override
- Returns the single element that satisfies
test
. [...] - skip(int count) → Iterable<E>
override
- Returns an Iterable that provides all but the first
count
elements. [...] - skipWhile(bool test(E element)) → Iterable<E>
override
- Returns an
Iterable
that skips leading elements while test
is satisfied. [...] - sort([int compare(E a, E b) ]) → void
override
- Sorts this list according to the order specified by the
compare
function. [...] - sublist(int start, [ int end ]) → List<E>
override
- Returns a new list containing the elements between
start
and end
. [...] - take(int count) → Iterable<E>
override
- Returns a lazy iterable of the
count
first elements of this iterable. [...] - takeWhile(bool test(E element)) → Iterable<E>
override
- Returns a lazy iterable of the leading elements satisfying
test
. [...] - toList({bool growable: true }) → List<E>
override
- Creates a List containing the elements of this Iterable. [...]
- toSet() → Set<E>
override
- Creates a Set containing the same elements as this iterable. [...]
- toString() → String
override
- Returns a string representation of this object.
- where(bool test(E element)) → Iterable<E>
override
- Returns a new lazy Iterable with all elements that satisfy the predicate
test
. [...] - whereType<T>() → Iterable<T>
override
- Returns a new lazy Iterable with all elements that have type
T
. [...] - noSuchMethod(Invocation invocation) → dynamic
inherited
- Invoked when a non-existent method or property is accessed. [...]
Operators
- operator +(List<E> other) → List<E>
override
- Returns the concatenation of this list and
other
. [...] - operator ==(dynamic other) → bool
inherited
- The equality operator. [...]
- operator [](int index) → E
inherited
- Returns the object at the given
index
in the list or throws a RangeError if index
is out of bounds. - operator []=(int index, E value) → void
inherited
- Sets the value at the given
index
in the list to value
or throws a RangeError if index
is out of bounds.