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.
Constructors
Properties
- first → E
-
read-only
- hashCode → int
-
Get a hash code for this object.
read-only, inherited - isEmpty → bool
-
read-only
- isNotEmpty → bool
-
read-only
- iterator → Iterator<E>
-
read-only
- last → E
-
read-only
- length → int
-
Returns the number of objects in this list.
read / write, inherited - reversed → Iterable<E>
-
read-only
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited - single → E
-
read-only
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited -
operator [](
int index) → E -
Returns the object at the given
index
in the list or throws a RangeError ifindex
is out of bounds.inherited -
operator []=(
int index, E value) → void -
Sets the value at the given
index
in the list tovalue
or throws a RangeError ifindex
is out of bounds.inherited
Methods
-
add(
E element) → void -
Adds
value
to the end of this list, extending the length by one. -
addAll(
Iterable<E> iterable) → void -
Appends all objects of
iterable
to the end of this list. -
any(
bool test(E element)) → bool -
Checks whether any element of this iterable satisfies
test
. -
asMap(
) → Map<int, E> -
Returns an unmodifiable
Map
view ofthis
. -
clear(
) → void -
Removes all objects from this list; the length of the list becomes zero.
-
contains(
Object element) → bool -
Returns true if the collection contains an element equal to
element
. -
elementAt(
int index) → E -
Returns the
index
th element. -
every(
bool test(E element)) → bool -
Checks whether every element of this iterable satisfies
test
. -
expand<T>(
Iterable<T> f(E element)) → Iterable<T> -
Expands each element of this
Iterable
into zero or more elements. -
fillRange(
int start, int end, [ E fill ]) → void -
Sets the objects in the range
start
inclusive toend
exclusive to the givenfillValue
. -
firstWhere(
bool test(E element), { E orElse() }) → E -
Returns the first element that satisfies the given predicate
test
. -
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
-
forEach(
void action(E element)) → void -
Applies the function
f
to each element of this collection in iteration order. -
getRange(
int start, int end) → Iterable<E> -
Returns an
Iterable
that iterates over the objects in the rangestart
inclusive toend
exclusive. -
indexOf(
Object element, [ int startIndex = 0 ]) → int -
Returns the first index of
element
in this list. -
insert(
int index, E element) → void -
Inserts the object at position
index
in this list. -
insertAll(
int index, Iterable<E> iterable) → void -
Inserts all objects of
iterable
at positionindex
in this list. -
join(
[String separator = "" ]) → String -
Converts each element to a
String
and concatenates the strings. -
lastIndexOf(
Object element, [ int startIndex ]) → int -
Returns the last index in the list
a
of the givenelement
, starting the search at indexstartIndex
to 0. Returns -1 ifelement
is not found. -
lastWhere(
bool test(E element), { E orElse() }) → E -
Returns the last element that satisfies the given predicate
test
. -
map<T>(
T f(E element)) → Iterable<T> -
Returns a new lazy
Iterable
with elements that are created by callingf
on each element of thisIterable
in iteration order. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited -
reduce(
E combine(E previousValue, E element)) → E -
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
-
remove(
Object element) → bool -
Removes the first occurrence of
value
from this list. -
removeAt(
int index) → E -
Removes the object at position
index
from this list. -
removeLast(
) → E -
Pops and returns the last object in this list.
-
removeRange(
int start, int end) → void -
Removes the objects in the range
start
inclusive toend
exclusive. -
removeWhere(
bool test(E element)) → void -
Removes all objects from this list that satisfy
test
. -
replaceRange(
int start, int end, Iterable<E> newContents) → void -
Removes the objects in the range
start
inclusive toend
exclusive and inserts the contents ofreplacement
in its place. -
retainWhere(
bool test(E element)) → void -
Removes all objects from this list that fail to satisfy
test
. -
setAll(
int index, Iterable<E> iterable) → void -
Overwrites objects of
this
with the objects ofiterable
, starting at positionindex
in this list. -
setRange(
int start, int end, Iterable<E> iterable, [ int skipCount = 0 ]) → void -
Copies the objects of
iterable
, skippingskipCount
objects first, into the rangestart
, inclusive, toend
, exclusive, of the list. -
shuffle(
[Random random ]) → void -
Shuffles the elements of this list randomly.
-
singleWhere(
bool test(E element)) → E -
Returns the single element that satisfies
test
. -
skip(
int count) → Iterable<E> -
Returns an
Iterable
that provides all but the firstcount
elements. -
skipWhile(
bool test(E element)) → Iterable<E> -
Returns an
Iterable
that skips leading elements whiletest
is satisfied. -
sort(
[int compare(E a, E b) ]) → void -
Sorts this list according to the order specified by the
compare
function. -
sublist(
int start, [ int end ]) → List<E> -
Returns a new list containing the objects from
start
inclusive toend
exclusive. -
take(
int count) → Iterable<E> -
Returns a lazy iterable of the
count
first elements of this iterable. -
takeWhile(
bool test(E element)) → Iterable<E> -
Returns a lazy iterable of the leading elements satisfying
test
. -
toList(
{bool growable: true }) → List<E> -
Creates a
List
containing the elements of thisIterable
. -
toSet(
) → Set<E> -
Creates a
Set
containing the same elements as this iterable. -
toString(
) → String -
Returns a string representation of this object.
-
where(
bool test(E element)) → Iterable<E> -
Returns a new lazy
Iterable
with all elements that satisfy the predicatetest
.