Функция map
Функция map
применяет указанную функцию-преобразователь
к каждому элементу исходной коллекции и возвращает новую коллекцию
с результатами преобразования. Работает с массивами Array
,
списками List
, множествами Set
и другими итерируемыми коллекциями.
В первый параметр передается функция-преобразователь, которая принимает
элемент коллекции и возвращает преобразованное значение.
Импорт
import kotlin.collections.map
Синтаксис
// Для 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:
val numbers = arrayOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
println(doubled)
Результат выполнения кода:
List<Int> [2, 4, 6, 8, 10]
Пример
Преобразуем список строк в верхний регистр:
val words = listOf("hello", "world", "kotlin")
val upperCase = words.map { it.toUpperCase() }
println(upperCase)
Результат выполнения кода:
List<String> ['HELLO', 'WORLD', 'KOTLIN']
Пример
Преобразуем множество чисел в строки:
val nums = setOf(10, 20, 30)
val strings = nums.map { "Number: $it" }
println(strings)
Результат выполнения кода:
List<String> ['Number: 10', 'Number: 20', 'Number: 30']
Пример
Использование функции-преобразователя с явным параметром:
val numbers = listOf(1, 2, 3, 4, 5)
val squared = numbers.map { num -> num * num }
println(squared)
Результат выполнения кода:
List<Int> [1, 4, 9, 16, 25]
Пример
Преобразование с изменением типа данных:
val ints = arrayOf(1, 2, 3, 4, 5)
val doubles = ints.map { it.toDouble() }
println(doubles)
Результат выполнения кода:
List<Double> [1.0, 2.0, 3.0, 4.0, 5.0]
Смотрите также
-
функцию
mapIndexed
,
которая предоставляет индекс элемента в преобразователе -
функцию
mapNotNull
,
которая фильтруетnull
значения после преобразования -
функцию
flatMap
,
которая преобразует и объединяет вложенные коллекции -
функцию
filter
,
которая фильтрует элементы коллекции по условию