ListBase<E> class
Abstract implementation of a list.
ListBase
can be used as a base class for implementing the List
interface.
This class implements all read operations using only the length
and operator[]
and members. It implements write operations using those and add
, length=
and operator[]=
Classes using this base classs should implement those five operations.
NOTICE: For backwards compatability reasons, there is a default implementation of add
which only works for lists with a nullable element type. For list with a non-nullable element type, the add
method must be implemented.
NOTICE: Forwarding just the four length
and []
read/write operations to a normal growable List (as created by a []
literal) 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, override 'add' and 'addAll' to also forward directly to the growable list, or, if possible, use DelegatingList
from "package:collection/collection.dart" instead of a ListMixin
.
- Mixed in types
-
ListMixin<
E>
-
ListMixin<
- Implementers
- ElementList
- UnmodifiableFloat32ListView
- UnmodifiableFloat32x4ListView
- UnmodifiableFloat64ListView
- UnmodifiableFloat64x2ListView
- UnmodifiableInt8ListView
- UnmodifiableInt16ListView
- UnmodifiableInt32ListView
- UnmodifiableInt32x4ListView
- UnmodifiableInt64ListView
- UnmodifiableListView
- UnmodifiableUint8ClampedListView
- UnmodifiableUint8ListView
- UnmodifiableUint16ListView
- UnmodifiableUint32ListView
- UnmodifiableUint64ListView
Constructors
- ListBase()
Properties
- first ↔ E read / write, inherited
- Returns the first element. [...]
- hashCode → int read-only, inherited
- The hash code for this object. [...]
- isEmpty → bool read-only, inherited
- Returns
true
if there are no elements in this collection. [...] - isNotEmpty → bool read-only, inherited
- Returns true if there is at least one element in this collection. [...]
- iterator → Iterator<
E> read-only, inherited - Returns a new
Iterator
that allows iterating the elements of thisIterable
. [...] - last ↔ E read / write, inherited
- Returns the last element. [...]
- length ↔ int read / write, inherited
- The number of objects in this list. [...]
- reversed → Iterable<
E> read-only, inherited - An Iterable of the objects in this list in reverse order.
- runtimeType → Type read-only, inherited
- A representation of the runtime type of the object.
- single → E read-only, inherited
- Checks that this iterable has only one element, and returns that element. [...]
Methods
- add(
E element) → void inherited - Adds
value
to the end of this list, extending the length by one. [...] - addAll(
Iterable< E> iterable) → voidinherited - Appends all objects of
iterable
to the end of this list. [...] - any(
bool test(E element)) → bool inherited - Checks whether any element of this iterable satisfies
test
. [...] - asMap(
) → Map< int, E> inherited - An unmodifiable Map view of this list. [...]
- cast<
R> () → List< R> inherited - Returns a view of this list as a list of
R
instances. [...] - clear(
) → void inherited - Removes all objects from this list; the length of the list becomes zero. [...]
- contains(
Object? element) → bool inherited - Whether the collection contains an element equal to
element
. [...] - elementAt(
int index) → E inherited - Returns the
index
th 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. [...]
- fillRange(
int start, int end, [E? fill]) → void inherited - Overwrites a range of elements with
fillValue
. [...] - 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 concatenation of this iterable and
other
. [...] - forEach(
void action(E element)) → void inherited - Applies the function
f
to each element of this collection in iteration order. - getRange(
int start, int end) → Iterable< E> inherited - Creates an Iterable that iterates over a range of elements. [...]
- indexOf(
Object? element, [int start = 0]) → int inherited - The first index of
element
in this list. [...] - indexWhere(
bool test(E element), [int start = 0]) → int inherited - The first index in the list that satisfies the provided
test
. [...] - insert(
int index, E element) → void inherited - Inserts
element
at positionindex
in this list. [...] - insertAll(
int index, Iterable< E> iterable) → voidinherited - Inserts all objects of
iterable
at positionindex
in this list. [...] - join(
[String separator = ""]) → String inherited - Converts each element to a String and concatenates the strings. [...]
- lastIndexOf(
Object? element, [int? start]) → int inherited - The last index of
element
in this list. [...] - lastIndexWhere(
bool test(E element), [int? start]) → int inherited - The last index in the list that satisfies the provided
test
. [...] - lastWhere(
bool test(E element), {E orElse()}) → E inherited - Returns the last element that satisfies the given predicate
test
. [...] - map<
T> (T f(E element)) → Iterable< T> inherited - Returns a new lazy Iterable with elements that are created by calling
f
on each element of thisIterable
in iteration order. [...] - noSuchMethod(
Invocation invocation) → dynamic inherited - Invoked when a non-existent method or property is accessed. [...]
- reduce(
E combine(E previousValue, E element)) → E inherited - Reduces a collection to a single value by iteratively combining elements of the collection using the provided function. [...]
- remove(
Object? element) → bool inherited - Removes the first occurrence of
value
from this list. [...] - removeAt(
int index) → E inherited - Removes the object at position
index
from this list. [...] - removeLast(
) → E inherited - Removes and returns the last object in this list. [...]
- removeRange(
int start, int end) → void inherited - Removes a range of elements from the list. [...]
- removeWhere(
bool test(E element)) → void inherited - Removes all objects from this list that satisfy
test
. [...] - replaceRange(
int start, int end, Iterable< E> newContents) → voidinherited - Replaces a range of elements with the elements of
replacement
. [...] - retainWhere(
bool test(E element)) → void inherited - Removes all objects from this list that fail to satisfy
test
. [...] - setAll(
int index, Iterable< E> iterable) → voidinherited - Overwrites elements with the objects of
iterable
. [...] - setRange(
int start, int end, Iterable< E> iterable, [int skipCount = 0]) → voidinherited - Writes some elements of
iterable
into a range of this list. [...] - shuffle(
[Random? random]) → void inherited - Shuffles the elements of this list randomly.
- 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 element)) → Iterable< E> inherited - Returns an
Iterable
that skips leading elements whiletest
is satisfied. [...] - sort(
[int compare(E a, E b)]) → void inherited - Sorts this list according to the order specified by the
compare
function. [...] - sublist(
int start, [int? end]) → List< E> inherited - Returns a new list containing the elements between
start
andend
. [...] - take(
int count) → Iterable< E> inherited - Returns a lazy iterable of the
count
first elements of this iterable. [...] - takeWhile(
bool test(E element)) → 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 - A string representation of this object. [...]
- 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 +(
List< E> other) → List<E> inherited - Returns the concatenation of this list and
other
. [...] - operator ==(
Object other) → bool inherited - The equality operator. [...]
- operator [](
int index) → E inherited - The object at the given
index
in the list. [...] - operator []=(
int index, E value) → void inherited - Sets the value at the given
index
in the list tovalue
. [...]
Static Methods
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-collection/ListBase-class.html