列表E.filled 构造函数

列表E.filled(
  1. int length,
  2. E fill, {
  3. bool growable = false,
})

创建一个指定长度且每个位置都有 fill 的列表。

length 必须是非负整数。

示例

final zeroList = List<int>.filled(3, 0, growable: true); // [0, 0, 0]

如果 growable 为 false(默认值)则创建的列表是固定长度的,如果 growable 为 true 则是可增长的。如果列表是可增长的,增加其 length不会 使用 fill 初始化新条目。创建并填充后,列表与使用 [] 或其他 List 构造函数创建的任何可增长或固定长度的列表没有区别。

创建的列表的所有元素共享相同的 fill 值。

final shared = List.filled(3, []);
shared[0].add(499);
print(shared);  // [[499], [499], [499]]

您可以使用 List.generate 创建一个具有固定长度且每个位置都有新对象的列表。

final unique = List.generate(3, (_) => []);
unique[0].add(499);
print(unique); // [[499], [], []]

实现

external factory List.filled(int length, E fill, {bool growable = false});