Выбор ответа Middle Коллекции и последовательности спрашивают часто обновлено
Когда использовать Sequence
Вопрос
В каком случае asSequence() даёт реальную выгоду?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Длинная цепочка map/filter и ранний выход через first. Последовательность ленивая: элемент проходит всю цепочку, промежуточных списков нет, и обработка останавливается, как только first или take получили результат.
Варианты ответа
- Длинная цепочка
map/filterи ранний выход черезfirstправильный ответ - Список из 10 элементов и одна операция
map - Нужна сортировка всего списка через
sorted - Нужно обойти коллекцию параллельно на нескольких ядрах
Разбор
Последовательность ленивая: элемент проходит всю цепочку, промежуточных списков нет, и обработка останавливается, как только first или take получили результат. На маленьких коллекциях выигрыша нет, накладные расходы итераторов съедают его. sorted всё равно соберёт всё в память. Параллельности у Sequence нет, в отличие от Java parallelStream.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.