Разница между for-each и Stream API в Java заключается в их назначении и подходе к работе с данными:
- for-each — это разновидность цикла for, который используется, когда нужно обработать все элементы массива или коллекции. 2 В такой конструкции не применяется счётчик, итерационная переменная перебирает элементы массива или коллекции, а не значения индекса. 2
- Stream API — это способ работать со структурами данных Java, чаще всего коллекциями, в стиле функциональных языков программирования. 3 Он позволяет выполнять различные операции над данными, такие как фильтрация, маппинг, сортировка и агрегация. 9
Таким образом, for-each используется для непосредственной итерации по элементам коллекции или массива, в то время как Stream API предоставляет инструмент для эффективной и лаконичной обработки данных в функциональном стиле, где каждый элемент проходит через определённые этапы, как на конвейере. 69