Упрощение работы с коллекциями данных.
Основные цели:
- Функциональность: Позволяют использовать лямбда-выражения и другие функциональные интерфейсы для декларативной обработки данных.
- Параллелизм: Облегчают распараллеливание операций над коллекциями без явного управления потоками.
- Изменяемость: Стримы не изменяют исходную коллекцию. Операции стрима создают новые стримы или конечный результат.
- Производительность: Лень вычислений (lazy evaluation) позволяет выполнять операции только по мере необходимости.
- Читаемость: Код становится более лаконичным и выразительным по сравнению с традиционными циклами.
Пример использования:
java