Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Collections 如何在Dart中创建矩阵?_Collections_Flutter_Dart - Fatal编程技术网

Collections 如何在Dart中创建矩阵?

Collections 如何在Dart中创建矩阵?,collections,flutter,dart,Collections,Flutter,Dart,我有一个列表,我想创建一个集合的方阵(二维数组/列表),其尺寸与列表的长度相同 我试着用 List.filled(entries.length, List.filled(entries.length, Set<String>())); List.filled(entries.length,List.filled(entries.length,Set()); 但问题是,我的矩阵的每一行似乎都引用同一个列表实例,因此更改一行中的值也会更改所有其他行中的值 于是我试着 List.fil

我有一个
列表
,我想创建一个
集合
的方阵(二维数组/列表),其尺寸与
列表的长度相同

我试着用

List.filled(entries.length, List.filled(entries.length, Set<String>()));
List.filled(entries.length,List.filled(entries.length,Set());
但问题是,我的矩阵的每一行似乎都引用同一个列表实例,因此更改一行中的值也会更改所有其他行中的值

于是我试着

List.filled(entries.length, List.from(List.filled(entries.length, Set<String>())));
List.filled(entries.length,List.from(List.filled(entries.length,Set()));
但我还是有同样的问题。最后,我投降了,诉诸武力

List<List<Set<String>>> matrix = [];

for(int i=0; i<entries.length; i++) {
    List<Set<String>> row = [];
    for (int n = 0; n<entries.length; n++) {
        row.add(Set<String>());
    }
    matrix.add(row);
}
列表矩阵=[];
对于(inti=0;i
List.generate(n,();

可能,您可以使用类(或具有其他维度的矩阵:Matrix3、Matrix4)。不幸的是,我没有使用这些类的经验,但可能对您有意义。这些类有用于从列表生成矩阵的构造函数。

使用新的列表文字语法,您甚至可以执行:
列表矩阵=[for](var uu在条目中)[for(var uu在条目中){}];
..=[for(int i=0;i
List.generate(n, (_) => List.generate(n, (_) => <String>{}));