Вопрос проверяет понимание назначения Stream API и различий между данными и операциями над ними.
Stream нельзя использовать как структуру хранения данных. Он не хранит элементы, а лишь описывает последовательность операций над источником данных. Stream одноразовый и ленивый. После выполнения терминальной операции он считается закрытым. Поэтому он не подходит для хранения состояния.
Stream API предназначен для обработки данных, а не для их хранения.
Stream — это абстракция, описывающая:
источник данных
цепочку промежуточных операций
терминальную операцию
Он не владеет данными и не управляет их жизненным циклом.
Stream:
нельзя переиспользовать
нельзя «перемотать»
нельзя сохранить состояние
После терминальной операции Stream закрывается.
Фактическое хранение осуществляется в:
коллекциях
массивах
файлах
базах данных
Stream лишь читает данные из источника.
Попытка использовать Stream как хранилище:
нарушает модель API
приводит к IllegalStateException
усложняет код без выгоды
Вывод: Stream — это инструмент обработки, а не структура хранения данных.