Функция map

Функция map применяет указанную функцию-преобразователь к каждому элементу исходной коллекции и возвращает новую коллекцию с результатами преобразования. Работает с массивами Array, списками List, множествами Set и другими итерируемыми коллекциями. В первый параметр передается функция-преобразователь, которая принимает элемент коллекции и возвращает преобразованное значение.

Импорт

kotlinimport kotlin.collections.map

Синтаксис

kotlin// Для Iterable
inline fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R>

// Для Array
inline fun <T, R> Array<T>.map(transform: (T) -> R): List<R>

// Для List
inline fun <T, R> List<T>.map(transform: (T) -> R): List<R>

// Для Set
inline fun <T, R> Set<T>.map(transform: (T) -> R): List<R>

Пример

Преобразуем массив чисел, умножив каждый элемент на 2:

kotlinval numbers = arrayOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
println(doubled)

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

kotlinList<Int> [2, 4, 6, 8, 10]

Пример

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

kotlinval words = listOf("hello", "world", "kotlin")
val upperCase = words.map { it.toUpperCase() }
println(upperCase)

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

kotlinList<String> ['HELLO', 'WORLD', 'KOTLIN']

Пример

Преобразуем множество чисел в строки:

kotlinval nums = setOf(10, 20, 30)
val strings = nums.map { "Number: $it" }
println(strings)

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

kotlinList<String> ['Number: 10', 'Number: 20', 'Number: 30']

Пример

Использование функции-преобразователя с явным параметром:

kotlinval numbers = listOf(1, 2, 3, 4, 5)
val squared = numbers.map { num -> num * num }
println(squared)

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

kotlinList<Int> [1, 4, 9, 16, 25]

Пример

Преобразование с изменением типа данных:

kotlinval ints = arrayOf(1, 2, 3, 4, 5)
val doubles = ints.map { it.toDouble() }
println(doubles)

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

kotlinList<Double> [1.0, 2.0, 3.0, 4.0, 5.0]

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

  • функцию mapIndexed,
    которая предоставляет индекс элемента в преобразователе
  • функцию mapNotNull,
    которая фильтрует null значения после преобразования
  • функцию flatMap,
    которая преобразует и объединяет вложенные коллекции
  • функцию filter,
    которая фильтрует элементы коллекции по условию