如何在飞镖列表中重复重复项?

时间:2020-01-14 15:51:32

标签: flutter dart

我的意图是我想在列表中说出一个类的5个实例

final List<Ball> _ballList =[Ball(),Ball(),Ball(),Ball(),Ball(),]

相反,我想要类似的东西

final List<Ball> _ballList =[Ball() * 5]

2 个答案:

答案 0 :(得分:4)

使用generate()应该会有所帮助
例如

class Ball{
  String color;
}

void main() {
  List<Ball> ballList = new List<Ball>.generate(5,(i)=>Ball());
  for(int i=0;i<ballList.length;i++) {
    print(ballList[i]);
  }
}

答案 1 :(得分:0)

在Dart 2.3或更高版本中,您可以使用collection-for

final List<Ball> _ballList = [
  for (var i = 0; i < 5; i += 1) Ball(),
];

请注意,上面的代码将生成一个List,其中包含Ball的5个不同实例,我假设就是您想要的。在支持[Ball() * 5]示例之类的结构的语言(例如Python)中,您将获得一个包含5个相同实例元素的列表。如果要使用相同的实例,则可以使用List.filled constructor

final List<Ball> _ballList = List<Ball>.filled(5, Ball());