Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
fun main() {
val nums = listOf(1, 2, 3, 4, 5)
println(nums.filter { it % 2 == 1 }.map { it * 10 })
}[10, 30, 50]
- Ждать
[20, 40]:filterоставляет элементы, для которых условие равноtrue, поэтомуit % 2 == 1оставляет нечётные числа. - Считать, что каждый вызов в цепочке начинает с исходного списка:
mapработает с тем, что вернулfilter, а самnumsне меняется.
- Что выведет программа, если поменять вызовы местами:
map { it * 10 }.filter { it % 2 == 1 }? - Что напечатает
println(nums)после цепочки и почему?