# ArrayList<E> class

A resizable array implementation similar to Java's ArrayList.

This class provides a dynamic array that can grow and shrink as needed, with methods similar to Java's ArrayList.

Example usage:

    ArrayList<String> list = ArrayList<String>();
    list.add("Hello");
    list.add("World");
    list.insert(1, "Beautiful");

    print(list.get(0)); // "Hello"
    print(list.size()); // 3

Implemented types
  - List<E>
Available extensions
  - EnumByName
  - FutureIterable
  - IterableComparableExtension
  - IterableDoubleExtension
  - IterableExtension
  - IterableExtension
  - IterableExtensions
  - IterableIntegerExtension
  - IterableIterableExtension
  - IterableNullableExtension
  - IterableNumberExtension
  - ListComparableExtensions
  - ListExtensions
  - ListExtensions
  - ListToJSArray
  - NullableIterableExtensions
  - SortByPublic
Annotations
  - @Generic(ArrayList)

## Constructors

ArrayList.new()
  Creates an empty ArrayList.
ArrayList.from(Iterable<E> collection)
  Creates an ArrayList from an existing collection.
ArrayList.withCapacity(int initialCapacity)
  Creates an ArrayList with the specified initial capacity.

## Properties

average → double

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  The arithmetic mean of the elements of a non-empty iterable.
  no setter
average → double

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  The arithmetic mean of the elements of a non-empty iterable.
  no setter
first ↔ E
  The first element.
  getter/setter pair override
firstOrNull → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The first element, or `null` if the iterable is empty.
  no setter
firstOrNull → T?

  Available on Iterable<T>, provided by the IterableExtensions extension

  The first element of this iterator, or `null` if the iterable is empty.
  no setter
flattened → Iterable<T>

  Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension

  The sequential elements of each iterable in this iterable.
  no setter
flattenedToList → List<T>

  Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension

  The sequential elements of each iterable in this iterable.
  no setter
flattenedToSet → Set<T>

  Available on Iterable<Iterable<T>>, provided by the IterableIterableExtension extension

  The unique sequential elements of each iterable in this iterable.
  no setter
hashCode → int
  The hash code for this object.
  no setter override
indexed → Iterable<(int, T)>

  Available on Iterable<T>, provided by the IterableExtensions extension

  Pairs of elements of the indices and elements of this iterable.
  no setter
isEmpty → bool
  Whether this collection has no elements.
  no setter override
isNotEmpty → bool
  Whether this collection has at least one element.
  no setter override
isOneAKind → bool

  Available on List<T>, provided by the ListExtensions extension

  Checks if all list data have same value.
  no setter
iterator → Iterator<E>
  Iterator implementation
  no setter override
last ↔ E
  The last element.
  getter/setter pair override
lastOrNull → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The last element, or `null` if the iterable is empty.
  no setter
lastOrNull → T?

  Available on Iterable<T>, provided by the IterableExtensions extension

  The last element of this iterable, or `null` if the iterable is empty.
  no setter
length ↔ int
  The number of objects in this list.
  getter/setter pair override
max → T

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  A maximal element of the iterable.
  no setter
max → double

  Available on Iterable<double>, provided by the IterableDoubleExtension extension

  A maximal element of the iterable.
  no setter
max → num

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  A maximal element of the iterable.
  no setter
max → int

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  A maximal element of the iterable.
  no setter
maxOrNull → num?

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  A maximal element of the iterable, or `null` if the iterable is empty.
  no setter
maxOrNull → double?

  Available on Iterable<double>, provided by the IterableDoubleExtension extension

  A maximal element of the iterable, or `null` if the iterable is empty.
  no setter
maxOrNull → int?

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  A maximal element of the iterable, or `null` if the iterable is empty.
  no setter
maxOrNull → T?

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  A maximal element of the iterable, or `null` if the iterable is empty.
  no setter
min → double

  Available on Iterable<double>, provided by the IterableDoubleExtension extension

  A minimal element of the iterable.
  no setter
min → int

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  A minimal element of the iterable.
  no setter
min → num

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  A minimal element of the iterable.
  no setter
min → T

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  A minimal element of the iterable.
  no setter
minOrNull → int?

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  A minimal element of the iterable, or `null` it the iterable is empty.
  no setter
minOrNull → T?

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  A minimal element of the iterable, or `null` it the iterable is empty.
  no setter
minOrNull → double?

  Available on Iterable<double>, provided by the IterableDoubleExtension extension

  A minimal element of the iterable, or `null` it the iterable is empty.
  no setter
minOrNull → num?

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  A minimal element of the iterable, or `null` it the iterable is empty.
  no setter
nonNulls → Iterable<T>

  Available on Iterable<T?>, provided by the NullableIterableExtensions extension

  The non-`null` elements of this iterable.
  no setter
reversed → Iterable<E>
  An Iterable of the objects in this list in reverse order.
  no setter override
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
single → E
  Checks that this iterable has only one element, and returns that element.
  no setter override
singleOrNull → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The single element of the iterable, or `null`.
  no setter
singleOrNull → T?

  Available on Iterable<T>, provided by the IterableExtensions extension

  The single element of this iterator, or `null`.
  no setter
sum → num

  Available on Iterable<num>, provided by the IterableNumberExtension extension

  The sum of the elements.
  no setter
sum → double

  Available on Iterable<double>, provided by the IterableDoubleExtension extension

  The sum of the elements.
  no setter
sum → int

  Available on Iterable<int>, provided by the IterableIntegerExtension extension

  The sum of the elements.
  no setter
toJS → JSArray<T>

  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
toJSProxyOrRef → JSArray<T>

  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
wait → Future<List<T>>

  Available on Iterable<Future<T>>, provided by the FutureIterable extension

  Waits for futures in parallel.
  no setter

## Methods

add(E element) → bool
  Adds `value` to the end of this list, extending the length by one.
  override
addAll(Iterable<E> iterable) → bool
  Appends all objects of `iterable` to the end of this list.
  override
addAllIf(ConditionTester<T> condition, Iterable<T> items) → void

  Available on List<T>, provided by the ListExtensions extension

  Adds all items from another list to a list if a condition is met.
addIf(ConditionTester<T> condition, T element) → void

  Available on List<T>, provided by the ListExtensions extension

  Adds an item to a list if a condition is met.
all(ConditionTester<T> test) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks whether all elements of this iterable satisfy `test`.
any(bool test(E)) → bool
  Checks whether any element of this iterable satisfies `test`.
  override
asMap() → Map<int, E>
  An unmodifiable Map view of this list.
  override
asNameMap() → Map<String, T>

  Available on Iterable<T>, provided by the EnumByName extension

  Creates a map from the names of enum values to the values.
binarySearch(E element, int compare(E, E)) → int

  Available on List<E>, provided by the ListExtensions extension

  Returns the index of `element` in this sorted list.
binarySearch(E element, [int compare(E, E)?]) → int

  Available on List<E>, provided by the ListComparableExtensions extension

  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

  Available on List<E>, provided by the ListExtensions extension

  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

  Available on List<E>, provided by the ListExtensions extension

  Returns the index of `element` in this sorted list.
byName(String name) → T

  Available on Iterable<T>, provided by the EnumByName extension

  Finds the enum value in this list with name `name`.
cast<T>() → List<T>
  Returns a view of this list as a list of `R` instances.
  override
clear() → void
  Removes all elements from this list.
  override
contains(Object? element) → bool
  Whether the collection contains an element equal to `element`.
  override
elementAt(int index) → E
  Returns the `index`th element.
  override
elementAtOrNull(int index) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The `index`th element, or `null` if there is no such element.
elementAtOrNull(int index) → T?

  Available on Iterable<T>, provided by the IterableExtensions extension

  The element at position `index` of this iterable, or `null`.
elementAtOrNull(int index) → E?

  Available on List<E>, provided by the ListExtensions extension

  The `index`th element, or `null` if there is no such element.
equals(List<E> other, [Equality<E> equality = const DefaultEquality()]) → bool

  Available on List<E>, provided by the ListExtensions extension

  Whether `other` has the same elements as this list.
every(bool test(E)) → bool
  Checks whether every element of this iterable satisfies `test`.
  override
expand<T>(Iterable<T> f(E)) → Iterable<T>
  Expands each element of this Iterable into zero or more elements.
  override
expandIndexed<R>(Iterable<R> expand(int index, E element)) → Iterable<R>

  Available on List<E>, provided by the ListExtensions extension

  Expands each element and index to a number of elements in a new iterable.
expandIndexed<R>(Iterable<R> expand(int index, T element)) → Iterable<R>

  Available on Iterable<T>, provided by the IterableExtension extension

  Expands each element and index to a number of elements in a new iterable.
fillRange(int start, int end, [E? fill]) → void
  Overwrites a range of elements with `fillValue`.
  override
filter(ConditionTester<T> test) → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Filters elements based on a predicate (alias for `where`).
filterWhere(ConditionTester<T> test) → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Filters elements based on a predicate.
find(ConditionTester<T> test) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  Finds the first element that satisfies the given predicate.
findIndex(ConditionTester<T> test) → int

  Available on Iterable<T>, provided by the IterableExtension extension

  Finds the index of the first element that satisfies the given predicate.
firstWhere(bool test(E), {E orElse()?}) → E
  The first element that satisfies the given predicate `test`.
  override
firstWhereIndexedOrNull(bool test(int index, T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The first element whose value and index satisfies `test`.
firstWhereOrNull(bool test(T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The first element satisfying `test`, or `null` if there are none.
firstWhereOrNull(ConditionTester<T> test) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns the first element that satisfies the predicate or `null` if none match.
flatMap<E>(Iterable<E> selector(T item)) → Iterable<E>

  Available on Iterable<T>, provided by the IterableExtension extension

  Flattens lists of items into a single iterable.
flatten<E>(E? selector(T item)) → Iterable<E>

  Available on Iterable<T>, provided by the IterableExtension extension

  Transforms each element of the iterable into zero or more elements of type `E` and flattens the results.
flattenIterable<E>(Iterable<E>? selector(T item)) → Iterable<E>

  Available on Iterable<T>, provided by the IterableExtension extension

  Transforms each element of the iterable into zero or more results of type `E`, and flattens the resulting collections into a single iterable.
fold<T>(T initialValue, T combine(T, E)) → T
  Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
  override
foldIndexed<R>(R initialValue, R combine(int index, R previous, T element)) → R

  Available on Iterable<T>, provided by the IterableExtension extension

  Combine the elements with a value and the current index.
followedBy(Iterable<E> other) → Iterable<E>
  Creates the lazy concatenation of this iterable and `other`.
  override
forEach(void action(E)) → void
  Invokes `action` on each element of this iterable in iteration order.
  override
forEachIndexed(void action(int index, E element)) → void

  Available on List<E>, provided by the ListExtensions extension

  Takes an action for each element.
forEachIndexed(void action(int index, T element)) → void

  Available on Iterable<T>, provided by the IterableExtension extension

  Takes an action for each element.
forEachIndexedWhile(bool action(int index, E element)) → void

  Available on List<E>, provided by the ListExtensions extension

  Takes an action for each element and index as long as desired.
forEachIndexedWhile(bool action(int index, T element)) → void

  Available on Iterable<T>, provided by the IterableExtension extension

  Takes an action for each element and index as long as desired.
forEachWhile(bool action(E element)) → void

  Available on List<E>, provided by the ListExtensions extension

  Takes an action for each element as long as desired.
forEachWhile(bool action(T element)) → void

  Available on Iterable<T>, provided by the IterableExtension extension

  Takes an action for each element as long as desired.
get(int index) → E
  Returns the element at the specified index.
get([int index = 0]) → T

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns the element at the specified index.
getFirst() → T

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns the first element of the iterable.
getLast() → T

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns the last element of the iterable.
getRange(int start, int end) → Iterable<E>
  Creates an Iterable that iterates over a range of elements.
  override
group<K>(K keySelector(T item)) → Map<K, List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups the elements of the iterable by a key returned from the `keySelector` function.
groupBy<K>(K keySelector(T item)) → Map<K, List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups elements of this iterable into a Map using the given `keySelector`.
groupByAndMap<K, V>(K keySelector(T item), V valueSelector(T item)) → Map<K, List<V>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups elements of this iterable into a Map using `keySelector`, and applies `valueSelector` to each element before storing it.
groupFoldBy<K, G>(K keyOf(T element), G combine(G? previous, T element)) → Map<K, G>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups elements by `keyOf` then folds the elements in each group.
groupListsBy<K>(K keyOf(T element)) → Map<K, List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups elements into lists by `keyOf`.
groupSetsBy<K>(K keyOf(T element)) → Map<K, Set<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Groups elements into sets by `keyOf`.
indexOf(Object? element, [int start = 0]) → int
  The first index of `element` in this list.
  override
indexWhere(bool test(E element), [int start = 0]) → int
  The first index in the list that satisfies the provided `test`.
  override
indexWhereOrNull(ConditionTester<T> test) → int?

  Available on Iterable<T>, provided by the IterableExtension extension

  Finds the index of an element that satisfies the predicate or returns `null` if not found.
insert(int index, E element) → void
  Inserts `element` at position `index` in this list.
  override
insertAll(int index, Iterable<E> iterable) → bool
  Inserts all objects of `iterable` at position `index` in this list.
  override
isLengthBetween(int min, int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is BETWEEN minLength to max.
isLengthEqualTo(int other) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is EQUAL to max.
isLengthEt(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Short form for `isLengthEqualTo`
isLengthGreaterThan(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is GREATER than max.
isLengthGreaterThanOrEqualTo(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is GREATER OR EQUAL to max.
isLengthGt(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Short form for `isLengthGreaterThan`
isLengthGtEt(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Short form for `isLengthGreaterThanOrEqualTo`
isLengthLessThan(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is LESS than max.
isLengthLessThanOrEqualTo(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if length of double value is LESS OR EQUAL to max.
isLengthLt(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Short form for `isLengthLessThan`
isLengthLtEt(int max) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Short form for `isLengthLessThanOrEqualTo`
isSorted(Comparator<T> compare) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Whether the elements are sorted by the `compare` ordering.
isSorted([Comparator<T>? compare]) → bool

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  Whether the elements are sorted by the `compare` ordering.
isSortedBy<K extends Comparable<K>>(K keyOf(T element)) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Whether the elements are sorted by their `keyOf` property.
isSortedByCompare<K>(K keyOf(T element), Comparator<K> compare) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Whether the elements are `compare`-sorted by their `keyOf` property.
join([String separator = ""]) → String
  Converts each element to a String and concatenates the strings.
  override
lastBy<K>(K key(T)) → Map<K, T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Associates the elements in `this` by the value returned by `key`.
lastIndexOf(Object? element, [int? start]) → int
  The last index of `element` in this list.
  override
lastIndexWhere(bool test(E element), [int? start]) → int
  The last index in the list that satisfies the provided `test`.
  override
lastWhere(bool test(E), {E orElse()?}) → E
  The last element that satisfies the given predicate `test`.
  override
lastWhereIndexedOrNull(bool test(int index, T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The last element whose index and value satisfies `test`.
lastWhereOrNull(bool test(T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The last element satisfying `test`, or `null` if there are none.
lastWhereOrNull(ConditionTester<T> test) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns the last element that satisfies the predicate or `null` if none match.
lowerBound(E element, [int compare(E, E)?]) → int

  Available on List<E>, provided by the ListComparableExtensions extension

  Returns the index where `element` should be in this sorted list.
lowerBound(E element, int compare(E, E)) → int

  Available on List<E>, provided by the ListExtensions extension

  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

  Available on List<E>, provided by the ListExtensions extension

  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

  Available on List<E>, provided by the ListExtensions extension

  Returns the index where `element` should be in this sorted list.
map<T>(T f(E)) → Iterable<T>
  The current elements of this iterable modified by `toElement`.
  override
mapIndexed<R>(R convert(int index, E element)) → Iterable<R>

  Available on List<E>, provided by the ListExtensions extension

  Maps each element and its index to a new value.
mapIndexed<R>(R convert(int index, T element)) → Iterable<R>

  Available on Iterable<T>, provided by the IterableExtension extension

  Maps each element and its index to a new value.
none(bool test(T)) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Whether no element satisfies `test`.
none(ConditionTester<T> test) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if no element matches the predicate.
noneMatch(ConditionTester<T> test) → bool

  Available on Iterable<T>, provided by the IterableExtension extension

  Checks if none of the elements match a condition using noneMatch.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
pop() → T?

  Available on List<T>, provided by the ListExtensions extension

  Removes and returns the last element of the list.
process(dynamic action(T item)) → void

  Available on Iterable<T>, provided by the IterableExtension extension

  Processes each element of the iterable using the provided `action` function.
reduce(E combine(E, E)) → E
  Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
  override
reduceIndexed(T combine(int index, T previous, T element)) → T

  Available on Iterable<T>, provided by the IterableExtension extension

  Combine the elements with each other and the current index.
remove(Object? element) → bool
  Removes the first occurrence of `value` from this list.
  override
removeAllIf(ConditionTester<T> condition, Iterable<T> items) → void

  Available on List<T>, provided by the ListExtensions extension

  Removes all items from another list if a condition is met.
removeAt(int index) → E
  Removes the object at position `index` from this list.
  override
removeIf(ConditionTester<T> condition, T element) → void

  Available on List<T>, provided by the ListExtensions extension

  Removes an item from a list if a condition is met.
removeLast() → E
  Removes and returns the last object in this list.
  override
removeRange(int start, int end) → void
  Removes a range of elements from the list.
  override
removeWhere(bool test(E element)) → void
  Removes all objects from this list that satisfy `test`.
  override
replaceRange(int start, int end, Iterable<E> newContents) → void
  Replaces a range of elements with the elements of `replacements`.
  override
retainWhere(bool test(E element)) → void
  Removes all objects from this list that fail to satisfy `test`.
  override
reverse() → void
  Reverses the order of elements in this list.
reverse() → List<T>

  Available on List<T>, provided by the ListExtensions extension

  Returns a new list with the elements in reverse order.
reverseRange(int start, int end) → void

  Available on List<E>, provided by the ListExtensions extension

  Reverses the elements in a range of the list.
sample(int count, [Random? random]) → List<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Selects `count` elements at random from this iterable.
set(int index, E element) → E
  Replaces the element at the specified index.
setAll(int index, Iterable<E> iterable) → void
  Overwrites elements with the objects of `iterable`.
  override
setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) → void
  Writes some elements of `iterable` into a range of this list.
  override
shift() → T?

  Available on List<T>, provided by the ListExtensions extension

  Removes and returns the first element of the list.
shuffle([Random? random]) → void
  Shuffles the elements of this list randomly.
  override
shuffled([Random? random]) → List<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Creates a shuffled list of the elements of the iterable.
shuffleRange(int start, int end, [Random? random]) → void

  Available on List<E>, provided by the ListExtensions extension

  Shuffle a range of elements.
singleWhere(bool test(E), {E orElse()?}) → E
  The single element that satisfies `test`.
  override
singleWhereIndexedOrNull(bool test(int index, T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The single element satisfying `test`.
singleWhereOrNull(bool test(T element)) → T?

  Available on Iterable<T>, provided by the IterableExtension extension

  The single element satisfying `test`.
size() → int
  Returns the number of elements in this list.
skip(int count) → Iterable<E>
  Creates an Iterable that provides all but the first `count` elements.
  override
skipWhile(bool test(E)) → Iterable<E>
  Creates an `Iterable` that skips leading elements while `test` is satisfied.
  override
slice(int start, [int? end]) → ListSlice<E>

  Available on List<E>, provided by the ListExtensions extension

  A fixed length view of a range of this list.
slices(int length) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Contiguous slices of `this` with the given `length`.
slices(int length) → Iterable<List<E>>

  Available on List<E>, provided by the ListExtensions extension

  Contiguous slices of `this` with the given `length`.
sort([int compare(E a, E b)?]) → void
  Sorts this list according to the order specified by the `compare` function.
  override
sortBy<K extends Comparable<K>>(K keyOf(E element), [int start = 0, int? end]) → void

  Available on List<E>, provided by the ListExtensions extension

  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

  Available on List<E>, provided by the ListExtensions extension

  Sorts elements by the `compare` of their `keyOf` property.
sorted(Comparator<T> compare) → List<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Creates a sorted list of the elements of the iterable.
sorted([Comparator<T>? compare]) → List<T>

  Available on Iterable<T>, provided by the IterableComparableExtension extension

  Creates a sorted list of the elements of the iterable.
sortedBy<K extends Comparable<K>>(K keyOf(T element)) → List<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Creates a sorted list of the elements of the iterable.
sortedByCompare<K>(K keyOf(T element), Comparator<K> compare) → List<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Creates a sorted list of the elements of the iterable.
sortedByPublicFirst() → List<T>

  Available on Iterable<T>, provided by the SortByPublic extension

  Sorts declarations with public visibility before private ones.
sortedByPublicFirstThenSyntheticLast() → List<T>

  Available on Iterable<T>, provided by the SortByPublic extension

  Sorts declarations with public visibility first and synthetic declarations last.
sortRange(int start, int end, int compare(E a, E b)) → void

  Available on List<E>, provided by the ListExtensions extension

  Sort a range of elements by `compare`.
sortRange(int start, int end, [int compare(E a, E b)?]) → void

  Available on List<E>, provided by the ListComparableExtensions extension

  Sort a range of elements by `compare`.
splitAfter(bool test(T element)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks after some elements.
splitAfterIndexed(bool test(int index, T element)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks after some elements and indices.
splitBefore(bool test(T element)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks before some elements.
splitBeforeIndexed(bool test(int index, T element)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks before some elements and indices.
splitBetween(bool test(T first, T second)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks between some elements.
splitBetweenIndexed(bool test(int index, T first, T second)) → Iterable<List<T>>

  Available on Iterable<T>, provided by the IterableExtension extension

  Splits the elements into chunks between some elements and indices.
stream() → GenericStream<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Converts the iterable to a stream.
sublist(int start, [int? end]) → List<E>
  Returns a new list containing the elements between `start` and `end`.
  override
subList(int fromIndex, int toIndex) → ArrayList<E>
  Returns a view of the portion of this list between the specified indices.
swap(int index1, int index2) → void

  Available on List<E>, provided by the ListExtensions extension

  Swaps two elements of this list.
take(int count) → Iterable<E>
  Creates a lazy iterable of the `count` first elements of this iterable.
  override
takeWhile(bool test(E)) → Iterable<E>
  Creates a lazy iterable of the leading elements satisfying `test`.
  override
toArray() → List<E>
  Converts this list to an array (same as toList in Dart).
toList({bool growable = true}) → List<E>
  Creates a List containing the elements of this Iterable.
  override
toMap<K, V>(K keySelector(T item), V valueSelector(T item)) → Map<K, V>

  Available on Iterable<T>, provided by the IterableExtension extension

  Maps the iterable to a new iterable using the provided `mapper` function.
toSet() → Set<E>
  Creates a Set containing the same elements as this iterable.
  override
toString() → String
  A string representation of this object.
  override
where(bool test(E)) → Iterable<E>
  Creates a new lazy Iterable with all elements that satisfy the predicate `test`.
  override
whereIndexed(bool test(int index, E element)) → Iterable<E>

  Available on List<E>, provided by the ListExtensions extension

  The elements whose value and index satisfies `test`.
whereIndexed(bool test(int index, T element)) → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  The elements whose value and index satisfies `test`.
whereNot(bool test(T element)) → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  The elements that do not satisfy `test`.
whereNotIndexed(bool test(int index, E element)) → Iterable<E>

  Available on List<E>, provided by the ListExtensions extension

  The elements whose value and index do not satisfy `test`.
whereNotIndexed(bool test(int index, T element)) → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  The elements whose value and index do not satisfy `test`.
whereNotNull() → Iterable<T>

  Available on Iterable<T?>, provided by the IterableNullableExtension extension

  The non-`null` elements of this `Iterable`.
whereOrNull(ConditionTester<T> test) → Iterable<T>?

  Available on Iterable<T>, provided by the IterableExtension extension

  Returns an iterable with elements that match a condition, or `null` if none match.
whereType<T>() → Iterable<T>
  Creates a new lazy Iterable with all elements that have type `T`.
  override
whereType<U>() → Iterable<T>

  Available on Iterable<T>, provided by the IterableExtension extension

  Filters elements of a specific type `T`.

## Operators

operator +(List<E> other) → List<E>
  Returns the concatenation of this list and `other`.
  override
operator ==(Object other) → bool
  The equality operator.
  override
operator [](int index) → E
  The object at the given `index` in the list.
  override
operator []=(int index, E element) → void
  Sets the value at the given `index` in the list to `value`.
  override