在 Dart/Flutter 中创建给定长度的列表

Emi*_*zun 4 list maxlength dart flutter

如何创建给定长度的列表?我希望我的列表只包含 3 个变量,它不应该扩展。

如何在 Dart/Flutter 中做到这一点?

Emi*_*zun 7

  • 好吧,你可以使用 List.filled() 来实现它。
    这将创建一个给定长度的列表,每个位置都有 [fill]。[长度] 必须是非负整数。

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

这样你就会得到一个给定长度的列表,你只能在该列表中放入三个变量,默认变量将为0。


以下是来自 #dart-documentation 的更详细信息。

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

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

      final shared = List.filled(3, []);
      shared[0].add(499);
      print(shared);
    
    Run Code Online (Sandbox Code Playgroud)
  • 您可以使用[List.generate]创建一个固定长度的列表,并在每个位置创建一个新对象。

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


eam*_*ein 6

generate你可以这样使用:

List result = List.generate(3, (index) => index.toString());// [0,1,2]
Run Code Online (Sandbox Code Playgroud)