# ListExtensions<E> extension Null safety

Various extensions on lists of arbitrary elements.

on

## Methods

binarySearch(E element, int compare(E, E)) int
Returns the index of `element` in this sorted list.
binarySearchBy<K extends Comparable<K>>(E element, K keyOf(E element), [int start = 0, int? end]) int
Returns the index of `element` in this sorted list.
binarySearchByCompare<K>(E element, K keyOf(E element), int compare(K, K), [int start = 0, int? end]) int
Returns the index of `element` in this sorted list.
equals(List<E> other, [Equality<E> equality = const DefaultEquality()]) bool
Whether `other` has the same elements as this list.
expandIndexed<R>(Iterable<R> expand(int index, E element)) Iterable<R>
Expands each element and index to a number of elements in a new iterable.
forEachIndexed(void action(int index, E element)) → void
Takes an action for each element.
forEachIndexedWhile(bool action(int index, E element)) → void
Takes an action for each element and index as long as desired.
forEachWhile(bool action(E element)) → void
Takes an action for each element as long as desired.
lowerBound(E element, int compare(E, E)) int
Returns the index where `element` should be in this sorted list.
lowerBoundBy<K extends Comparable<K>>(E element, K keyOf(E), [int start = 0, int? end]) int
Returns the index where `element` should be in this sorted list.
lowerBoundByCompare<K>(E element, K keyOf(E), int compare(K, K), [int start = 0, int? end]) int
Returns the index where `element` should be in this sorted list.
mapIndexed<R>(R convert(int index, E element)) Iterable<R>
Maps each element and its index to a new value.
reverseRange(int start, int end) → void
Reverses the elements in a range of the list.
shuffleRange(int start, int end, [ random]) → void
Shuffle a range of elements.
slice(int start, [int? end]) ListSlice<E>
A fixed length view of a range of this list.
slices(int length) Iterable<List<E>>
Contiguous slices of this with the given `length`.
sortBy<K extends Comparable<K>>(K keyOf(E element), [int start = 0, int? end]) → void
Sorts elements by the natural order of their `keyOf` property.
sortByCompare<K>(K keyOf(E element), int compare(K a, K b), [int start = 0, int? end]) → void
Sorts elements by the `compare` of their `keyOf` property.
sortRange(int start, int end, int compare(E a, E b)) → void
Sort a range of elements by `compare`.
swap(int index1, int index2) → void
Swaps two elements of this list.
whereIndexed(bool test(int index, E element)) Iterable<E>
The elements whose value and index satisfies `test`.
whereNotIndexed(bool test(int index, E element)) Iterable<E>
The elements whose value and index do not satisfy `test`.