Заполнение многомерных структур в Dart
Карта списков
Списки в карте собирают двумя циклами.
Вместо номера строки берут ключ, числа
дописывают через add:
var map = <String, List<int>>{};
var keys = ["a", "b"];
for (var i = 0; i < 2; i++) {
var row = <int>[];
for (var j = 1; j <= 2; j++) {
row.add(j);
}
map[keys[i]] = row;
}
print(map["b"]![1]); // выведет 2
Список карт
Каждый элемент списка - отдельная карта.
Ее собирают на шаге цикла и кладут в список
через add:
var table = <Map<String, int>>[];
for (var i = 1; i <= 2; i++) {
var row = <String, int>{"id": i};
table.add(row);
}
print(table[1]["id"]); // выведет 2
Практические задачи
Заполните карту списков. По ключам
"a" и "b" лежат числа
4 и 5. Выведите второе
число ключа "b".
Заполните список двумя картами. В каждой
есть ключ "age", числа 27
и 31. Выведите возраст второй
карты.