Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpSqTm 82 of 299 menu
◀ ▶

Конечное действие в Kotlin

Конечное действие - команда в конце цепочки, которой нужен конкретный ответ: список, число, один элемент. Именно она запускает реальный обход данных, описанных промежуточными шагами.

Один и тот же отбор можно завершить сбором списка или подсчетом длины:

fun main() { val nums = listOf(3, 8, 1, 12, 5) val picked = nums.asSequence() .filter { it > 4 } .toList() val amount = nums.asSequence() .filter { it > 4 } .count() println(picked) println(amount) }

Функция toList материализует элементы, count считает их без сохранения всего набора в память. Обе команды идут по одной и той же цепочке отбора.

Другие частые конечные шаги - взять первый элемент или сложить числа:

fun main() { val nums = listOf(3, 8, 1, 12, 5) val top = nums.asSequence() .filter { it > 4 } .first() val total = nums.asSequence() .filter { it > 4 } .sum() println(top) println(total) }

Функция first останавливает обход, как только найден подходящий элемент. Функция sum проходит все отобранные значения и накапливает итог.

Дан список listOf(10, 2, 7, 15, 4). Через последовательность оставьте числа не меньше семи. Выведите список отобранных значений и их количество двумя конечными командами.

Для списка listOf(1, 9, 3, 6, 11) постройте цепочку с отбором больше пяти. Выведите первый подходящий элемент и сумму всех подходящих.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить