Встречается на 4% собеседований по QA

ForEach в Java является конечным методом, или промежуточным

forEach в Java является конечным (terminal) методом в Stream API. Он не возвращает новый Stream, а выполняет действие для каждого элемента потока, завершая его обработку.

Пример:

java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.stream()
     .filter(name -> name.startsWith("A"))
     .forEach(System.out::println); // Terminal operation

Нюансы:

  • Нельзя использовать после него другие методы Stream (вызовет ошибку компиляции).
  • Не гарантирует порядок выполнения в параллельных потоках (если не используется forEachOrdered).
  • Не изменяет исходную коллекцию (если только действие внутри не модифицирует состояние).

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы