Фабричный конструктор List.filled
List.filled(Создаёт список фиксированной длины заданной длины, и инициализирует значение в каждой позиции значением fill.
new List<int>.filled(3, 0); // [0, 0, 0]
Длина length должна быть неотрицательным целым числом.
Если список изменяемый, изменение его длины не инициализирует новые записи значением fill. После создания и заполнения список ничем не отличается от любого другого изменяемого или фиксированного списка, созданного с помощью List.
Все записи в возвращаемом списке указывают на одно и то же предоставленное fill значение. То, что все элементы списка — один и тот же объект, наблюдается, когда предоставленное значение — изменяемый объект.
var shared = new List.filled(3, []); shared[0].add(499); print(shared); // => [[499], [499], [499]]
Вы можете использовать List.generate для создания нового объекта для каждой позиции в списке.
var unique = new List.generate(3, (_) => []); unique[0].add(499); print(unique); // => [[499], [], []]
Исходный код
external factory List.filled(int length, E fill, {bool growable: false});
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/List/List.filled.html