Функция putAll

Функция putAll добавляет все элементы из переданной коллекции в текущую изменяемую коллекцию. Функция работает только с изменяемыми типами коллекций, такими как MutableMap, HashMap, LinkedHashMap и другими реализациями MutableMap. В первый параметр передается коллекция элементов для добавления.

Импорт

kotlinimport kotlin.collections.putAll

Синтаксис

kotlinfun MutableMap<K, V>.putAll(from: Map<out K, V>): Unit
kotlinfun MutableMap<K, V>.putAll(from: Iterable<Pair<K, V>>): Unit
kotlinfun MutableMap<K, V>.putAll(from: Array<out Pair<K, V>>): Unit
kotlinfun MutableMap<K, V>.putAll(from: Sequence<Pair<K, V>>): Unit

Пример

Добавим все элементы из одной карты в другую:

kotlinval map1 = mutableMapOf("a" to 1, "b" to 2)
val map2 = mapOf("c" to 3, "d" to 4)

map1.putAll(map2)
println(map1)

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

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

Пример

Добавим элементы из списка пар в карту:

kotlinval map = mutableMapOf("a" to 1, "b" to 2)
val list = listOf("c" to 3, "d" to 4)

map.putAll(list)
println(map)

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

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

Пример

Добавим элементы из массива пар в карту:

kotlinval map = mutableMapOf("a" to 1, "b" to 2)
val array = arrayOf("c" to 3, "d" to 4)

map.putAll(array)
println(map)

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

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

Пример

Добавим элементы из последовательности в карту:

kotlinval map = mutableMapOf("a" to 1, "b" to 2)
val sequence = sequenceOf("c" to 3, "d" to 4)

map.putAll(sequence)
println(map)

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

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

Пример

Если добавляемый элемент имеет ключ, который уже существует в карте, то его значение будет перезаписано:

kotlinval map = mutableMapOf("a" to 1, "b" to 2)
val newElements = mapOf("b" to 5, "c" to 3)

map.putAll(newElements)
println(map)

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

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

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

  • функцию put,
    которая добавляет один элемент в карту
  • функцию addAll,
    которая добавляет все элементы в списки и множества
  • функцию getOrPut,
    которая получает значение или добавляет новое