Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
406 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция 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,
    которая фильтрует элементы коллекции по условию