dart:collection
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 class should implement those five operations.
NOTICE: For backwards compatibility 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
-
- Implementers
- Available Extensions
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
- Whether this collection has no elements.
- isNotEmpty → bool
read-only, inherited
- Whether this collection has at least one element.
- iterator → Iterator<E>
read-only, inherited
- Returns a new
Iterator that allows iterating the elements of this Iterable. - 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) → void
inherited
- 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
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.
- 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
- Invokes
action on each element of this iterable 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 position index in this list. - insertAll(int index, Iterable<E> iterable) → void
inherited
- Inserts all objects of
iterable at position index 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
- The current elements of this iterable modified by
toElement. - 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) → void
inherited
- Replaces a range of elements with the elements of
replacements. - retainWhere(bool test(E element)) → void
inherited
- Removes all objects from this list that fail to satisfy
test. - setAll(int index, Iterable<E> iterable) → void
inherited
- Overwrites elements with the objects of
iterable. - setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) → void
inherited
- 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 while test 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 and end. - 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 to value.
Static Methods
- listToString(List list) → String
- Converts a List to a String.