Карта объектов в Dart
Карта хранит пары «ключ - объект». По ключу находят нужный экземпляр без перебора всего набора. Литерал с типом ключа и значения собирает карту сразу с данными:
class Post {
String title;
int likes;
Post(this.title, this.likes);
}
Поместим объекты в карту:
var posts = <String, Post>{
"john": Post("john", 21),
"eric": Post("eric", 22),
};
print(posts["john"]!.likes);
Обращение posts["john"] возвращает объект или null,
если ключа нет. Пустую карту заполняют присваиванием по ключу,
затем выведем найденное значение и отсутствующий ключ:
class Post {
String title;
int likes;
Post(this.title, this.likes);
}
Поместим объекты в карту:
var posts = <String, Post>{};
posts["john"] = Post("john", 21);
posts["eric"] = Post("eric", 22);
print(posts["john"]!.title);
print(posts["missing"]);
Цикл по карте перебирает пары ключ и значение. Соберем карту и выведем ключ с заголовком каждой записи:
class Post {
String title;
int likes;
Post(this.title, this.likes);
}
Поместим объекты в карту:
var posts = <String, Post>{
"a": Post("john", 21),
"b": Post("eric", 22),
};
for (var e in posts.entries) {
print("${e.key}: ${e.value.title}");
}
Создайте карту: ключи "one" и "two",
значения - объекты Post с разными заголовками.
Выведите число лайков записи по ключу "one".
Сделайте класс City с названием и населением
в конструкторе. Создайте изменяемую карту таких
объектов. Добавьте три города с разными ключами.
Выведите названия всех городов в цикле.