Выбор ответа Junior Коллекции и последовательности обновлено

map и flatMap

Вопрос

Что вернёт listOf("ab", "c").flatMap { it.toList() }?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: [a, b, c]. flatMap применяет функцию, возвращающую коллекцию, и склеивает результаты в один плоский список. map { it.toList() } дал бы вложенные списки [[a, b], [c]].

Варианты ответа

  1. [[a, b], [c]]
  2. ["ab", "c"]
  3. [a, b, c]правильный ответ
  4. [2, 1]

Разбор

flatMap применяет функцию, возвращающую коллекцию, и склеивает результаты в один плоский список. map { it.toList() } дал бы вложенные списки [[a, b], [c]]. Длины строк получились бы через map { it.length }.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.