Функция toMutableMap

Функция toMutableMap создает новую изменяемую карту из коллекции пар Pair. Применяется к коллекциям типа Iterable, Array, Sequence и другим, содержащим пары ключ-значение. Если встречаются дубликаты ключей, то сохраняется значение последней пары.

Синтаксис

kotlinfun <K, V> Iterable<Pair<K, V>>.toMutableMap(): MutableMap<K, V>
kotlinfun <K, V> Array<out Pair<K, V>>.toMutableMap(): MutableMap<K, V>
kotlinfun <K, V> Sequence<Pair<K, V>>.toMutableMap(): MutableMap<K, V>

Пример

Преобразуем список пар в изменяемую карту:

kotlinval pairs = listOf("a" to 1, "b" to 2, "c" to 3)
val map: MutableMap<String, Int> = pairs.toMutableMap()
println(map)

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

kotlin{a=1, b=2, c=3}

Пример

Преобразуем массив пар в изменяемую карту:

kotlinval pairs = arrayOf("x" to 10, "y" to 20, "z" to 30)
val map: MutableMap<String, Int> = pairs.toMutableMap()
println(map)

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

kotlin{x=10, y=20, z=30}

Пример

Проверим поведение при дубликатах ключей:

kotlinval pairs = listOf("a" to 1, "a" to 2, "b" to 3)
val map: MutableMap<String, Int> = pairs.toMutableMap()
println(map)

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

kotlin{a=2, b=3}

Пример

Продемонстрируем возможность изменения полученной карты:

kotlinval pairs = listOf("one" to 1, "two" to 2)
val map: MutableMap<String, Int> = pairs.toMutableMap()

map["three"] = 3
map.remove("one")
println(map)

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

kotlin{two=2, three=3}

Пример

Использование с последовательностью:

kotlinval pairs = sequenceOf("first" to 100, "second" to 200)
val map: MutableMap<String, Int> = pairs.toMutableMap()
println(map)

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

kotlin{first=100, second=200}

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

  • функцию toMap,
    которая создает неизменяемую карту
  • функцию toList,
    которая преобразует коллекцию в список
  • функцию toSet,
    которая преобразует коллекцию в множество
  • функцию toMutableList,
    которая создает изменяемый список