Collection — это структура данных для хранения элементов, представляющая собой группу объектов, например, списки, множества. Она является хранилищем данных, сфокусированном на управлении элементами.
Stream — это последовательность элементов из источника (например, коллекции), поддерживающая операции для обработки и анализа этих элементов в функциональном стиле. Он не хранит данных, а лишь представляет собой поток данных для выполнения операций.
Основные отличия:
Collection - хранение данных, Stream - обработка данных.Collection обычно изменяют её состояние. Stream операции не изменяют исходный источник данных.Collection можно использовать многократно. Stream обычно одноразовый после выполнения терминальной операции.Stream выполняются "лениво" (только при вызове терминальной операции), что может быть эффективно для больших наборов данных. Collection операции выполняются сразу.Stream поддерживает эффективный параллелизм с помощью метода parallelStream().Пример:
java