Методы `forEach()` и `forEachOrdered()` в стримах (Stream) в Java используются для выполнения определенной операции на каждом элементе стрима. Метод `forEach()` применяет указанную операцию к каждому элементу стрима в произвольном порядке. Он может быть полезен, когда вам нужно выполнить некоторое действие для каждого элемента стрима, но порядок выполнения не имеет значения. Пример использования метода `forEach()` : Stream<String> stream = Stream.of("apple", "banana", "orange"); stream.forEach(System.out::println); В этом примере метод `forEach()` применяет операцию `System.out::println` к каждому элементу стрима `stream` , что позволяет вывести каждый элемент на консоль. Метод `forEachOrdered()` также применяет указанную операцию к каждому элементу стрима, но гарантирует, что операции будут выполнены в порядке, определенном исходным порядком элементов в стриме. Он может быть полезен, когда порядок выполнения операций имеет значение. Пример использования метода `forEachOrdered()` : Stream<String> stream = Stream.of("apple", "banana", "orange"); stream.forEachOrdered(System.out::println); В этом примере метод `forEachOrdered()` применяет операцию `System.out::println` к каждому элементу стрима `stream` , гарантируя, что элементы будут выведены в исходном порядке на консоль. Таким образом, методы `forEach()` и `forEachOrdered()` позволяют выполнять операции над каждым элементом стрима, но с различным учетом порядка выполнения.