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

Введение в последовательности в Kotlin

Последовательность в Kotlin похожа на цепочку filter и map у списка, но шаги сначала только записываются. Обход элементов начинается, когда появляется конечное действие - команда, которой нужен готовый результат.

Список можно превратить в последовательность через asSequence. Дальше к ней цепляют промежуточные шаги. Они возвращают новую последовательность и сами по себе элементы не перебирают.

Короткий пример: отбор чисел не меньше десяти и сбор результата в список в конце:

fun main() { val nums = listOf(10, 14, 7, 20) val chain = nums.asSequence() .filter { it >= 10 } val picked = chain.toList() println(picked) }

Пока вызван только filter, программа лишь запомнила правило отбора. Сравнения с элементами списка произойдут внутри toList, когда цепочке понадобится собрать итог.

Переменная chain хранит описание шагов, а не готовый список отфильтрованных чисел. Такой прием удобен, когда данных много или цепочка длинная: лишняя работа не выполняется, пока результат действительно не запросят.

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

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