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

Sequence против Iterable

Вопрос

Чем Sequence отличается от Iterable?

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

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

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

Коротко

Iterable: операции жадные, каждая создаёт новый список, порядок «вся операция над всеми элементами, потом следующая». Sequence: ленивая, элемент проходит всю цепочку, промежуточных коллекций нет, нужна терминальная операция (toList, first, sum).

Ответ

Iterable: операции жадные, каждая создаёт новый список, порядок «вся операция над всеми элементами, потом следующая». Sequence: ленивая, элемент проходит всю цепочку, промежуточных коллекций нет, нужна терминальная операция (toList, first, sum). Выгодна на больших данных, длинных цепочках и с ранним выходом.

Разбор

Iterable: операции жадные, каждая создаёт новый список, порядок «вся операция над всеми элементами, потом следующая». Sequence: ленивая, элемент проходит всю цепочку, промежуточных коллекций нет, нужна терминальная операция (toList, first, sum). Выгодна на больших данных, длинных цепочках и с ранним выходом.

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

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