Интерфейс MutableMap

Интерфейс MutableMap представляет собой изменяемую коллекцию пар ключ-значение, где каждый ключ уникален в пределах карты. Наследует от интерфейса Map и добавляет методы для модификации содержимого: добавления, изменения и удаления элементов. В первый параметр методов обычно передается ключ элемента, во второй параметр - значение элемента, а в третий параметр может передаваться функция для вычисления значения.

Импорт

kotlinimport kotlin.collections.MutableMap

Синтаксис

kotlininterface MutableMap<K, V> : Map<K, V>

Пример

Создадим изменяемую карту и добавим в нее элементы:

kotlinval map: MutableMap<String, Int> = mutableMapOf()
map.put("one", 1)
map.put("two", 2)
map.put("three", 3)
println(map)

Результат выполнения кода:

kotlin{one=1, two=2, three=3}

Пример

Изменим значение по существующему ключу:

kotlinval map: MutableMap<String, Int> = mutableMapOf("a" to 1, "b" to 2)
map.put("b", 20)
println(map)

Результат выполнения кода:

kotlin{a=1, b=20}

Пример

Удалим элемент по ключу:

kotlinval map: MutableMap<Char, String> = mutableMapOf('x' to "first", 'y' to "second")
map.remove('x')
println(map)

Результат выполнения кода:

kotlin{y=second}

Пример

Добавим элемент только если ключ отсутствует:

kotlinval map: MutableMap<String, Double> = mutableMapOf("temp" to 36.6)
map.putIfAbsent("temp", 37.0)
map.putIfAbsent("pressure", 1.0)
println(map)

Результат выполнения кода:

kotlin{temp=36.6, pressure=1.0}

Пример

Используем оператор [] для доступа к элементам:

kotlinval map: MutableMap<Int, String> = mutableMapOf(1 to "alpha", 2 to "beta")
map[3] = "gamma"
println(map[2])
println(map)

Результат выполнения кода:

kotlinbeta
{1=alpha, 2=beta, 3=gamma}

Пример

Очистим карту полностью:

kotlinval map: MutableMap<String, Boolean> = mutableMapOf("a" to true, "b" to false)
map.clear()
println(map.isEmpty())

Результат выполнения кода:

kotlintrue

Смотрите также

  • интерфейс Map,
    который представляет неизменяемую карту
  • интерфейс HashMap,
    который реализует MutableMap на основе хэш-таблицы
  • интерфейс LinkedHashMap,
    который сохраняет порядок добавления элементов
  • интерфейс TreeMap,
    который хранит элементы в отсортированном порядке