Какие знаешь map функции

«Какие знаешь map функции» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

map в Kotlin преобразует элементы коллекции, применяя к каждому лямбда-функцию. Основные варианты:

  1. map – преобразует каждый элемент:
val numbers = listOf(1, 2, 3)
val squared = numbers.map { it * it } // [1, 4, 9]
  1. mapIndexed – учитывает индекс элемента:
val result = numbers.mapIndexed { index, num -> "$index: $num" } // ["0: 1", "1: 2", "2: 3"]
  1. mapNotNull – фильтрует null после преобразования:
val mixed = listOf("1", "2", "a")
val nums = mixed.mapNotNull { it.toIntOrNull() } // [1, 2]

Для Map (коллекции пар):

  • mapKeys / mapValues – преобразует ключи или значения.

Все они возвращают новую коллекцию, не изменяя исходную.