От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
410 of 1310 menu

Функция mapValues

Функция mapValues применяет указанное преобразование к каждому значению в исходной Map и возвращает новую Map с теми же ключами, но с преобразованными значениями. Исходная Map при этом не изменяется. Функция работает только с типами Map.

Синтаксис

inline fun <K, V, R> Map<out K, V>.mapValues( transform: (Entry<K, V>) -> R ): Map<K, R>

Пример

Увеличим каждое значение в Map на 10:

val numbers = mapOf("a" to 1, "b" to 2, "c" to 3) val res = numbers.mapValues { it.value + 10 } println(res)

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

Map {a=11, b=12, c=13}

Пример

Преобразуем строковые значения в верхний регистр:

val words = mapOf(1 to "apple", 2 to "banana", 3 to "cherry") val res = words.mapValues { it.value.uppercase() } println(res)

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

Map {1=APPLE, 2=BANANA, 3=CHERRY}

Пример

Использование ключа и значения вместе в преобразовании:

val data = mapOf("x" to 5, "y" to 10, "z" to 15) val res = data.mapValues { (key, value) -> "$key:${value * 2}" } println(res)

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

Map {x=x:10, y=y:20, z=z:30}

Пример

Работа с изменяемой Map:

val mutableMap = mutableMapOf("first" to 100, "second" to 200) val res = mutableMap.mapValues { it.value / 10 } println("Original: $mutableMap") println("Transformed: $res")

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

Original: {first=100, second=200} Transformed: {first=10, second=20}

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

  • функцию mapKeys,
    которая преобразует ключи Map
  • функцию map,
    которая преобразует элементы коллекций
  • функцию filterValues,
    которая фильтрует значения Map
  • функцию forEach,
    которая выполняет действие для каждого элемента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить