You need to enable JavaScript to run this app. 能否使用Flutter创建布尔类型二维矩阵?
优惠活动
大模型
产品
解决方案
定价
更多

能否使用Flutter创建布尔类型二维矩阵?

Flutter实现布尔矩阵的具体方案

完全可以实现。你提到的其他语言中boolean[index_row][index_columns] = new boolean[][];这类二维布尔数组的逻辑,在Flutter使用的Dart语言中可以通过嵌套List结构直接实现,没有额外的语法限制。

固定尺寸布尔矩阵实现

这是和你提到的语法匹配度最高的实现方式,适合提前明确矩阵行列数的场景:

  • 初始化时通过List.generate逐行创建,每一行用List.filled填充默认的布尔值(通常为false)
  • 元素读写的索引逻辑和其他语言完全一致,使用矩阵变量名[行索引][列索引]即可访问任意位置的元素
// 定义矩阵的总行数、总列数
const int totalRow = 5;
const int totalColumn = 6;

// 初始化5行6列、所有元素默认值为false的布尔矩阵
List<List<bool>> boolMatrix = List.generate(
  totalRow,
  (rowIdx) => List.filled(totalColumn, false),
);

// 示例:给第3行(索引2)第4列(索引3)的位置赋值为true
boolMatrix[2][3] = true;

动态尺寸布尔矩阵实现

如果不需要提前固定矩阵的行列大小,可以直接创建空的嵌套列表,后续动态添加行、追加元素:

// 初始化空的布尔矩阵
List<List<bool>> dynamicBoolMatrix = [];

// 动态新增一行
dynamicBoolMatrix.add([false, false, true]);
// 给第一行追加一个布尔元素
dynamicBoolMatrix[0].add(false);

常见注意事项

  • 如果需要元素可以存储null值(三态:null/true/false),只需要将泛型类型改为可空的bool?即可
  • 不要使用const修饰嵌套列表来创建矩阵:被const修饰的列表是不可变的,后续修改元素值会直接抛出运行时异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 09:15:00