List<E>.generate constructor

List<E>.generate(int length, E generator(int index), { bool growable: true })

Generates a list of values.

Creates a list with length positions and fills it with values created by calling generator for each index in the range 0 .. length - 1 in increasing order.

new List<int>.generate(3, (int index) => index * index); // [0, 1, 4]

The created list is fixed-length unless growable is true.

Implementation

factory List.generate(int length, E generator(int index),
    {bool growable: true}) {
  List<E> result;
  if (growable) {
    result = <E>[]..length = length;
  } else {
    result = new List<E>(length);
  }
  for (int i = 0; i < length; i++) {
    result[i] = generator(i);
  }
  return result;
}