我能想到的最简单的方法是:List.filled(int length, E fill, { bool growable: false })
.
参数是:
所以你可以:
List<int> zeros = List.filled(10, 0)
个
这将创建一个包含10个零的列表.
您需要注意的一点是,如果您使用对象初始化列表,例如:
SomeObject a = SomeObject();
List<SomeObject> objects = List.filled(10, a);
上面创建的列表在所有位置上都有相同的对象a实例.
List.generate(int length, E generator(int index), {bool growable:true})
个
比如:
List<SomeObject> objects = List<SomeObject>.generate(10, (index) => SomeObject(index)
;
或者:
List<SomeObject> objects = List<SomeObject>.generate(10, (index) {
SomeOjbect obj = SomeObject(index)
obj.id= index;
return obj;
});
这将为列表中的每个职位创建一个新实例.初始化对象的方式由您决定.