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 mixin 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 mixin 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 lists 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 ListMixin. 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.
- Implemented types
-
- Implementers
- Available Extensions
Constructors
- ListMixin()
Properties
- first ↔ E
read / write, override
- Returns the first element.
- hashCode → int
read-only, inherited
- The hash code for this object.
- isEmpty → bool
read-only, override
- Whether this collection has no elements.
- isNotEmpty → bool
read-only, override
- Whether this collection has at least one element.
- 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.
- length ↔ int
read / write, inherited
- The number of objects in this list.
- reversed → Iterable<E>
read-only, override
- 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, override
- Checks that this iterable has only one element, and returns that element.
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
- An unmodifiable Map view of this list.
- 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
- Whether the collection contains an element equal to
element. - elementAt(int index) → E
override
- Returns the
indexth 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
- Overwrites a range of elements with
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 concatenation of this iterable and
other. - forEach(void action(E element)) → void
override
- Invokes
action on each element of this iterable in iteration order. - getRange(int start, int end) → Iterable<E>
override
- Creates an Iterable that iterates over a range of elements.
- indexOf(Object? element, [int start = 0]) → int
override
- The first index of
element in this list. - indexWhere(bool test(E element), [int start = 0]) → int
override
- The first index in the list that satisfies the provided
test. - insert(int index, E element) → void
override
- Inserts
element 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
- The last index of
element in this list. - lastIndexWhere(bool test(E element), [int? start]) → int
override
- 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
- 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
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
- Removes and returns the last object in this list.
- removeRange(int start, int end) → void
override
- Removes a range of elements from the list.
- 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
- Replaces a range of elements with the elements of
replacements. - 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 elements with the objects of
iterable. - setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) → void
override
- Writes some elements of
iterable into a range of this 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
- 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.
Operators
- operator +(List<E> other) → List<E>
override
- 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.