Карта объектов в Kotlin
Карта хранит пары «ключ - объект». По ключу находят нужный
экземпляр без перебора всего набора. Неизменяемую карту
собирают mapOf, изменяемую - mutableMapOf:
class User(val name: String, val age: Int)
fun main() {
val users = mapOf(
"john" to User("john", 21),
"eric" to User("eric", 22)
)
println(users["john"]?.age)
}
Запись "ключ" to объект задаёт одну пару. Обращение
users["john"] возвращает объект или null,
если ключа нет:
class User(val name: String, val age: Int)
fun main() {
val users = mutableMapOf<String, User>()
users["john"] = User("john", 21)
users["eric"] = User("eric", 22)
println(users["john"]?.name)
println(users["missing"])
}
Цикл по карте перебирает пары ключ и значение:
class User(val name: String, val age: Int)
fun main() {
val users = mapOf(
"a" to User("john", 21),
"b" to User("eric", 22)
)
for ((key, user) in users) {
println("$key: ${user.name}")
}
}
Создайте карту: ключи "one" и "two",
значения - объекты User с разными именами.
Выведите возраст пользователя по ключу "one".
Сделайте класс City с названием и населением
в конструкторе. Создайте изменяемую карту таких
объектов. Добавьте три города с разными ключами.
Выведите названия всех городов в цикле.