You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Dart/Flutter中能否创建含固定长度内层数组的多维数组?

在Flutter中实现固定内层长度的二维数组

在Dart(Flutter使用的语言)中,你可以通过以下几种方式实现要求的二维数组结构:

方式一:逐步构建二维数组

先初始化外层可变数组,再逐个添加固定长度的内层数组:

// 外层数组可根据需求添加更多内层数组
List<List<dynamic>> bigArray = [];

// 创建固定长度为4的内层数组,用null作为初始值,可替换为具体类型的默认值
var innerArray1 = List.filled(4, null);
innerArray1[0] = "val1";
innerArray1[1] = "val2";
innerArray1[2] = "val3";
innerArray1[3] = "val4";
bigArray.add(innerArray1);

// 快速添加另一个固定长度内层数组并赋值
var innerArray2 = List.filled(4, 0);
innerArray2[0] = 10;
innerArray2[1] = 20;
innerArray2[2] = 30;
innerArray2[3] = 40;
bigArray.add(innerArray2);

方式二:直接初始化完整二维数组

如果提前知道需要多少个内层数组,可以直接在外层数组中定义:

// 外层数组包含3个固定长度为4的内层字符串数组,初始值为空字符串
List<List<String>> bigArray = [
  List.filled(4, ""),
  List.filled(4, ""),
  List.filled(4, "")
];

// 给指定内层数组的元素赋值
bigArray[0][0] = "val1";
bigArray[0][1] = "val2";
bigArray[0][2] = "val3";
bigArray[0][3] = "val4";

方式三:批量生成固定数量的内层数组

如果需要批量创建多个固定长度的内层数组,使用List.generate更高效:

// 生成包含8个固定长度为4的内层整数数组,初始值为0
List<List<int>> bigArray = List.generate(
  8,
  (index) => List.filled(4, 0),
);

// 修改指定位置的元素
bigArray[3][2] = 500;

注意事项

  • List.filled(4, 初始值)创建的是固定长度的列表,无法调用add、remove等改变长度的方法,符合你要求的固定长度需求;
  • 把代码中的dynamic、String、int替换为你实际需要的数据类型即可;
  • 如果需要内层数组可变长度,可直接用[val1, val2, val3, val4]创建,但这种方式无法保证后续长度不被修改。

内容的提问来源于stack exchange,提问作者dana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:25:05