toList method Null safety

List<E> toList(
  1. {bool growable = true}
)

Creates a List containing the elements of this Iterable.

The elements are in iteration order. The list is fixed-length if growable is false.

Example:

final planets = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Mars'};
final keysList = planets.keys.toList(growable: false); // [1, 2, 3]
final valuesList =
    planets.values.toList(growable: false); // [Mercury, Venus, Mars]

Implementation

List<E> toList({bool growable = true}) {
  int mask = _table.length - 1;
  int length = (_tail - _head) & mask;
  if (length == 0) return List<E>.empty(growable: growable);

  var list = List<E>.filled(length, first, growable: growable);
  for (int i = 0; i < length; i++) {
    list[i] = _table[(_head + i) & mask] as E;
  }
  return list;
}