Выбор ответа Middle Коллекции и последовательности спрашивают часто обновлено

Когда использовать Sequence

Вопрос

В каком случае asSequence() даёт реальную выгоду?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Длинная цепочка map/filter и ранний выход через first. Последовательность ленивая: элемент проходит всю цепочку, промежуточных списков нет, и обработка останавливается, как только first или take получили результат.

Варианты ответа

  1. Длинная цепочка map/filter и ранний выход через firstправильный ответ
  2. Список из 10 элементов и одна операция map
  3. Нужна сортировка всего списка через sorted
  4. Нужно обойти коллекцию параллельно на нескольких ядрах

Разбор

Последовательность ленивая: элемент проходит всю цепочку, промежуточных списков нет, и обработка останавливается, как только first или take получили результат. На маленьких коллекциях выигрыша нет, накладные расходы итераторов съедают его. sorted всё равно соберёт всё в память. Параллельности у Sequence нет, в отличие от Java parallelStream.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.