Stream.forEach()
Выполняет действие для каждого элемента потока (завершающая операция).
Доступно с: Java 8
Синтаксис
void forEach(Consumer<? super T> action)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| action | Consumer<? super T> | Действие для каждого элемента. |
Примеры
Печать результата цепочки:
void main() {
Stream.of("apple", "kiwi", "banana")
.filter(s -> s.length() > 4)
.forEach(IO::println);
}Результат:
apple
bananaПримечания
Это завершающая операция: после неё поток использовать нельзя. Не добавляйте элементы во внешние коллекции внутри forEach() — соберите результат через toList() или collect(). В параллельном потоке порядок не гарантирован; сохраняет порядок forEachOrdered().
См. также
- Iterable — Интерфейс всего, что можно обойти циклом for-each.
- Map.forEach() — Выполняет действие для каждой пары словаря.
- Consumer — Действие: принимает значение и ничего не возвращает.
В учебнике
- Что такое поток данных — Stream API в Java — источник, промежуточные и завершающие операции, создание потоков, ленивые вычисления и одноразовость потока.