An indexable collection of objects with a length.
Subclasses of this class implement different kinds of lists. The most common kinds of lists are:
Fixed-length list
An error occurs when attempting to use operations that can change the length of the list.
Growable list
Full implementation of the API defined in this class.
The default growable list, as created by []
, keeps an internal buffer, and grows that buffer when necessary. This guarantees that a sequence of add operations will each execute in amortized constant time. Setting the length directly may take time proportional to the new length, and may change the internal capacity so that a following add operation will need to immediately increase the buffer capacity. Other list implementations may have different performance behavior.
Example of fixed-length list:
final fixedLengthList = List<int>.filled(5, 0); // Creates fixed-length list.
print(fixedLengthList); // [0, 0, 0, 0, 0]
fixedLengthList[0] = 87;
fixedLengthList.setAll(1, [1, 2, 3]);
print(fixedLengthList); // [87, 1, 2, 3, 0]
// Fixed length list length can't be changed or increased
fixedLengthList.length = 0; // Throws
fixedLengthList.add(499); // Throws
Example of growable list:
final growableList = <String>['A', 'B']; // Creates growable list.
To add data to the growable list, use operator[]=, add or addAll.
growableList[0] = 'G';
print(growableList); // [G, B]
growableList.add('X');
growableList.addAll({'C', 'B'});
print(growableList); // [G, B, X, C, B]
To check whether, and where, the element is in the list, use indexOf or lastIndexOf.
final indexA = growableList.indexOf('A'); // -1 (not in the list)
final firstIndexB = growableList.indexOf('B'); // 1
final lastIndexB = growableList.lastIndexOf('B'); // 4
To remove an element from the growable list, use remove, removeAt, removeLast, removeRange or removeWhere.
growableList.remove('C');
growableList.removeLast();
print(growableList); // [G, B, X]
To insert an element at position in the list, use insert or insertAll.
growableList.insert(1, 'New');
print(growableList); // [G, New, B, X]
To replace a range of elements in the list, use fillRange, replaceRange or setRange.
growableList.replaceRange(0, 2, ['AB', 'A']);
print(growableList); // [AB, A, B, X]
growableList.fillRange(2, 4, 'F');
print(growableList); // [AB, A, F, F]
To sort the elements of the list, use sort.
growableList.sort((a, b) => a.compareTo(b));
print(growableList); // [A, AB, F, F]
To shuffle the elements of this list randomly, use shuffle.
growableList.shuffle();
print(growableList); // e.g. [AB, F, A, F]
To find the first element satisfying some predicate, or give a default value if none do, use firstWhere.
bool isVowel(String char) => char.length == 1 && "AEIOU".contains(char);
final firstVowel = growableList.firstWhere(isVowel, orElse: () => ''); // ''
There are similar lastWhere and singleWhere methods.
A list is an Iterable and supports all its methods, including where, map, whereType and toList.
Lists are Iterable. Iteration occurs over values in index order. Changing the values does not affect iteration, but changing the valid indices—that is, changing the list's length—between iteration steps causes a ConcurrentModificationError. This means that only growable lists can throw ConcurrentModificationError. If the length changes temporarily and is restored before continuing the iteration, the iterator might not detect it.
It is generally not allowed to modify the list's length (adding or removing elements) while an operation on the list is being performed, for example during a call to forEach or sort. Changing the list's length while it is being iterated, either by iterating it directly or through iterating an Iterable that is backed by the list, will break the iteration.
factory
fill
at each position.
factory
elements
.
factory
factory
elements
.
factory
elements
.
factory
Available on Iterable<int>, provided by the IterableIntegerExtension extension
The arithmetic mean of the elements of a non-empty iterable.no setter
Available on Iterable<num>, provided by the IterableNumberExtension extension
The arithmetic mean of the elements of a non-empty iterable.no setter
getter/setter pairinherited-getter
Available on Iterable<T>, provided by the IterableExtension extension
The first element, ornull
if the iterable is empty.
no setter
Available on Iterable<T>, provided by the IterableExtensions extension
The first element of this iterator, ornull
if the iterable is empty.
no setter
Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension
The sequential elements of each iterable in this iterable.no setter
Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension
The sequential elements of each iterable in this iterable.no setter
Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension
The unique sequential elements of each iterable in this iterable.no setter
no setterinherited
Available on Iterable<T>, provided by the IterableExtensions extension
Pairs of elements of the indices and elements of this iterable.no setter
no setterinherited
no setterinherited
Iterator
that allows iterating the elements of this Iterable
.
no setterinherited
getter/setter pairinherited-getter
Available on Iterable<T>, provided by the IterableExtension extension
The last element, ornull
if the iterable is empty.
no setter
Available on Iterable<T>, provided by the IterableExtensions extension
The last element of this iterable, ornull
if the iterable is empty.
no setter
getter/setter pairoverride-getter
Available on Iterable<num>, provided by the IterableNumberExtension extension
A maximal element of the iterable.no setter
Available on Iterable<T>, provided by the IterableComparableExtension extension
A maximal element of the iterable.no setter
Available on Iterable<double>, provided by the IterableDoubleExtension extension
A maximal element of the iterable.no setter
Available on Iterable<int>, provided by the IterableIntegerExtension extension
A maximal element of the iterable.no setter
Available on Iterable<int>, provided by the IterableIntegerExtension extension
A maximal element of the iterable, ornull
if the iterable is empty.
no setter
Available on Iterable<double>, provided by the IterableDoubleExtension extension
A maximal element of the iterable, ornull
if the iterable is empty.
no setter
Available on Iterable<T>, provided by the IterableComparableExtension extension
A maximal element of the iterable, ornull
if the iterable is empty.
no setter
Available on Iterable<num>, provided by the IterableNumberExtension extension
A maximal element of the iterable, ornull
if the iterable is empty.
no setter
Available on Iterable<num>, provided by the IterableNumberExtension extension
A minimal element of the iterable.no setter
Available on Iterable<double>, provided by the IterableDoubleExtension extension
A minimal element of the iterable.no setter
Available on Iterable<int>, provided by the IterableIntegerExtension extension
A minimal element of the iterable.no setter
Available on Iterable<T>, provided by the IterableComparableExtension extension
A minimal element of the iterable.no setter
Available on Iterable<num>, provided by the IterableNumberExtension extension
A minimal element of the iterable, ornull
it the iterable is empty.
no setter
Available on Iterable<T>, provided by the IterableComparableExtension extension
A minimal element of the iterable, ornull
it the iterable is empty.
no setter
Available on Iterable<int>, provided by the IterableIntegerExtension extension
A minimal element of the iterable, ornull
it the iterable is empty.
no setter
Available on Iterable<double>, provided by the IterableDoubleExtension extension
A minimal element of the iterable, ornull
it the iterable is empty.
no setter
Available on Iterable<T?>, provided by the NullableIterableExtensions extension
The non-null
elements of this iterable.
no setter
no setter
no setterinherited
no setterinherited
Available on Iterable<T>, provided by the IterableExtensions extension
The single element of this iterator, ornull
.
no setter
Available on Iterable<T>, provided by the IterableExtension extension
The single element of the iterable, ornull
.
no setter
Available on Iterable<double>, provided by the IterableDoubleExtension extension
The sum of the elements.no setter
Available on Iterable<num>, provided by the IterableNumberExtension extension
The sum of the elements.no setter
Available on Iterable<int>, provided by the IterableIntegerExtension extension
The sum of the elements.no setter
Available on List<T>, provided by the ListToJSArray extension
Converts this List to a JSArray by either casting, unwrapping, or cloning the List.no setter
Available on List<T>, provided by the ListToJSArray extension
Converts this List to a JSArray by either casting, unwrapping, or proxying the List.no setter
Available on Iterable<Future<T>>, provided by the FutureIterable extension
Waits for futures in parallel.no setter
value
to the end of this list, extending the length by one.
iterable
to the end of this list.
test
.
inherited
Available on Iterable<T>, provided by the EnumByName extension
Creates a map from the names of enum values to the values.Available on List<E>, provided by the ListExtensions extension
Returns the index ofelement
in this sorted list.
Available on List<E>, provided by the ListComparableExtensions extension
Returns the index ofelement
in this sorted list.
Available on List<E>, provided by the ListExtensions extension
Returns the index ofelement
in this sorted list.
Available on List<E>, provided by the ListExtensions extension
Returns the index ofelement
in this sorted list.
Available on Iterable<T>, provided by the EnumByName extension
Finds the enum value in this list with namename
.
R
instances.
override
element
.
inherited
index
th element.
inherited
Available on List<E>, provided by the ListExtensions extension
Theindex
th element, or null
if there is no such element.
Available on Iterable<T>, provided by the IterableExtension extension
Theindex
th element, or null
if there is no such element.
Available on Iterable<T>, provided by the IterableExtensions extension
The element at positionindex
of this iterable, or null
.
Available on List<E>, provided by the ListExtensions extension
Whetherother
has the same elements as this list.
test
.
inherited
inherited
Available on List<E>, provided by the ListExtensions extension
Expands each element and index to a number of elements in a new iterable.Available on Iterable<T>, provided by the IterableExtension extension
Expands each element and index to a number of elements in a new iterable.fillValue
.
test
.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
The first element whose value and index satisfiestest
.
Available on Iterable<T>, provided by the IterableExtension extension
The first element satisfyingtest
, or null
if there are none.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
Combine the elements with a value and the current index.other
.
inherited
action
on each element of this iterable in iteration order.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
Takes an action for each element.Available on List<E>, provided by the ListExtensions extension
Takes an action for each element.Available on List<E>, provided by the ListExtensions extension
Takes an action for each element and index as long as desired.Available on Iterable<T>, provided by the IterableExtension extension
Takes an action for each element and index as long as desired.Available on Iterable<T>, provided by the IterableExtension extension
Takes an action for each element as long as desired.Available on List<E>, provided by the ListExtensions extension
Takes an action for each element as long as desired.Available on Iterable<T>, provided by the IterableExtension extension
Groups elements bykeyOf
then folds the elements in each group.
Available on Iterable<T>, provided by the IterableExtension extension
Groups elements into lists bykeyOf
.
Available on Iterable<T>, provided by the IterableExtension extension
Groups elements into sets bykeyOf
.
element
in this list.
test
.
element
at position index
in this list.
iterable
at position index
in this list.
Available on Iterable<T>, provided by the IterableComparableExtension extension
Whether the elements are sorted by thecompare
ordering.
Available on Iterable<T>, provided by the IterableExtension extension
Whether the elements are sorted by thecompare
ordering.
Available on Iterable<T>, provided by the IterableExtension extension
Whether the elements are sorted by theirkeyOf
property.
Available on Iterable<T>, provided by the IterableExtension extension
Whether the elements arecompare
-sorted by their keyOf
property.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
Associates the elements inthis
by the value returned by key
.
element
in this list.
test
.
test
.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
The last element whose index and value satisfiestest
.
Available on Iterable<T>, provided by the IterableExtension extension
The last element satisfyingtest
, or null
if there are none.
Available on List<E>, provided by the ListComparableExtensions extension
Returns the index whereelement
should be in this sorted list.
Available on List<E>, provided by the ListExtensions extension
Returns the index whereelement
should be in this sorted list.
Available on List<E>, provided by the ListExtensions extension
Returns the index whereelement
should be in this sorted list.
Available on List<E>, provided by the ListExtensions extension
Returns the index whereelement
should be in this sorted list.
toElement
.
inherited
Available on List<E>, provided by the ListExtensions extension
Maps each element and its index to a new value.Available on Iterable<T>, provided by the IterableExtension extension
Maps each element and its index to a new value.Available on Iterable<T>, provided by the IterableExtension extension
Whether no element satisfiestest
.
inherited
inherited
Available on Iterable<T>, provided by the IterableExtension extension
Combine the elements with each other and the current index.value
from this list.
index
from this list.
test
.
replacements
.
test
.
Available on List<E>, provided by the ListExtensions extension
Reverses the elements in a range of the list.Available on Iterable<T>, provided by the IterableExtension extension
Selectscount
elements at random from this iterable.
iterable
.
iterable
into a range of this list.
Available on Iterable<T>, provided by the IterableExtension extension
Creates a shuffled list of the elements of the iterable.Available on List<E>, provided by the ListExtensions extension
Shuffle a range of elements.test
.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
The single element satisfyingtest
.
Available on Iterable<T>, provided by the IterableExtension extension
The single element satisfyingtest
.
count
elements.
inherited
Iterable
that skips leading elements while test
is satisfied.
inherited
Available on List<E>, provided by the ListExtensions extension
A fixed length view of a range of this list.Available on List<E>, provided by the ListExtensions extension
Contiguous slices ofthis
with the given length
.
Available on Iterable<T>, provided by the IterableExtension extension
Contiguous slices ofthis
with the given length
.
compare
function.
Available on List<E>, provided by the ListExtensions extension
Sorts elements by the natural order of theirkeyOf
property.
Available on List<E>, provided by the ListExtensions extension
Sorts elements by thecompare
of their keyOf
property.
Available on Iterable<T>, provided by the IterableExtension extension
Creates a sorted list of the elements of the iterable.Available on Iterable<T>, provided by the IterableComparableExtension extension
Creates a sorted list of the elements of the iterable.Available on Iterable<T>, provided by the IterableExtension extension
Creates a sorted list of the elements of the iterable.Available on Iterable<T>, provided by the IterableExtension extension
Creates a sorted list of the elements of the iterable.Available on List<E>, provided by the ListExtensions extension
Sort a range of elements bycompare
.
Available on List<E>, provided by the ListComparableExtensions extension
Sort a range of elements bycompare
.
Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks after some elements.Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks after some elements and indices.Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks before some elements.Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks before some elements and indices.Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks between some elements.Available on Iterable<T>, provided by the IterableExtension extension
Splits the elements into chunks between some elements and indices.start
and end
.
Available on List<E>, provided by the ListExtensions extension
Swaps two elements of this list.count
first elements of this iterable.
inherited
test
.
inherited
inherited
inherited
inherited
test
.
inherited
Available on Iterable<T>, provided by the IterableExtension extension
The elements whose value and index satisfiestest
.
Available on List<E>, provided by the ListExtensions extension
The elements whose value and index satisfiestest
.
Available on Iterable<T>, provided by the IterableExtension extension
The elements that do not satisfytest
.
Available on Iterable<T>, provided by the IterableExtension extension
The elements whose value and index do not satisfytest
.
Available on List<E>, provided by the ListExtensions extension
The elements whose value and index do not satisfytest
.
Available on Iterable<T?>, provided by the IterableNullableExtension extension
The non-null
elements of this Iterable
.
T
.
inherited
other
.
other
.
override
index
in the list.
index
in the list to value
.
source
to be a List<T>
.
override
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4