Интерфейс Map
Интерфейс Map представляет коллекцию пар
ключ-значение, где каждый ключ является уникальным
и связан с определенным значением. Ключи и значения
могут быть любого типа. Интерфейс является неизменяемым
(immutable) - для создания изменяемых словарей
используйте MutableMap.
Импорт
kotlinimport kotlin.collections.Map
Синтаксис
kotlininterface Map<K, out V>
Создание Map
Создать неизменяемый словарь можно с помощью
функции mapOf, передавая пары ключ-значение:
kotlinval map: Map<String, Int> = mapOf("a" to 1, "b" to 2, "c" to 3)
println(map)
Результат выполнения кода:
kotlin{a=1, b=2, c=3}
Пример
Получение значения по ключу с помощью
оператора [] или метода get:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val value1 = map["a"]
val value2 = map.get("b")
println(value1)
println(value2)
Результат выполнения кода:
kotlinInt 1
Int 2
Пример
Проверка наличия ключа или значения в словаре:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val hasKey = map.containsKey("a")
val hasValue = map.containsValue(5)
println(hasKey)
println(hasValue)
Результат выполнения кода:
kotlinBoolean true
Boolean false
Пример
Получение размера словаря и проверка на пустоту:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val size = map.size
val isEmpty = map.isEmpty()
println(size)
println(isEmpty)
Результат выполнения кода:
kotlinInt 3
Boolean false
Пример
Получение всех ключей и значений словаря:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val keys = map.keys
val values = map.values
println(keys)
println(values)
Результат выполнения кода:
kotlin[a, b, c]
[1, 2, 3]
Пример
Итерация по элементам словаря с помощью цикла for:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
for ((key, value) in map) {
println("$key -> $value")
}
Результат выполнения кода:
kotlina -> 1
b -> 2
c -> 3
Пример
Использование метода getOrDefault для
безопасного получения значений:
kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val value1 = map.getOrDefault("a", 0)
val value2 = map.getOrDefault("x", 0)
println(value1)
println(value2)
Результат выполнения кода:
kotlinInt 1
Int 0
Смотрите также
-
интерфейс
MutableMap,
который представляет изменяемый словарь -
интерфейс
HashMap,
который реализует словарь на основе хэш-таблицы -
интерфейс
LinkedHashMap,
который сохраняет порядок добавления элементов -
интерфейс
TreeMap,
который хранит элементы в отсортированном порядке