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