Работал ли с Sequence

«Работал ли с Sequence» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. Sequence — это ленивая коллекция в Kotlin, которая обрабатывает элементы по одному, не создавая промежуточных коллекций. Это полезно для больших данных или цепочек операций, так как экономит память и ускоряет выполнение.

Пример:

val sequence = sequenceOf(1, 2, 3)
    .map { it * 2 }
    .filter { it > 3 }
    .toList() // [4, 6]

Ключевые отличия от Iterable:

  • Ленивые вычисления (элементы обрабатываются только при terminal operation)
  • Нет промежуточных коллекций
  • Может быть бесконечным (например, generateSequence)

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