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

Ограничение длины в Kotlin

Шаг take обрезает последовательность после заданного числа элементов. Дальнейшие шаги видят уже укороченный поток, даже если исходных данных было больше.

На списке чисел отберем четные, возьмем первые два и соберем результат:

fun main() { val nums = listOf(2, 4, 6, 8, 10, 12) val part = nums.asSequence() .filter { it % 2 == 0 } .take(2) .toList() println(part) }

Функция take можно поставить и сразу после asSequence, если нужны первые элементы без предварительного отбора:

fun main() { val nums = listOf(30, 10, 40, 20, 50) val head = nums.asSequence() .take(3) .map { it / 10 } .toList() println(head) }

Во втором примере map выполнится только для трех первых чисел исходного списка. Ограничение длины часто ставят перед тяжелым шагом, чтобы не обрабатывать лишние элементы.

Дан список listOf(1, 2, 3, 4, 5, 6). Через последовательность возьмите первые четыре числа, оставьте только нечетные и выведите список.

Для списка listOf("a", "bb", "ccc", "dddd") постройте цепочку с отбором строк длиннее одного символа, затем ограничьте длину двумя элементами и выведите их в верхнем регистре одним списком.

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