У меня есть List<String>
, и я хочу создать квадратную матрицу (2-мерный массив / список) размером Set<String>
с теми же размерами, что и длина List<String>
.
Я пытался использовать
List.filled(entries.length, List.filled(entries.length, Set<String>()));
но проблема в том, что кажется, что каждая строка моей матрицы ссылается на один и тот же экземпляр списка, поэтому изменение значения в одной строке изменяет его и во всех остальных.
Итак, я попытался
List.filled(entries.length, List.from(List.filled(entries.length, Set<String>())));
но у меня все та же проблема. В конце концов я сдался и прибег к
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);
}
Это работает, но уродливо. Есть ли более чистый способ сделать это?