Stream forEachOrdered() method in Java with examples

Stream forEachOrdered(Consumer action) performs an action for each element of this stream, in the encounter order of the stream if the stream has a defined encounter order. Stream forEachOrdered(Consumer action) is a terminal operation i.e, it may traverse the stream to produce a result or a side-effect.
Syntax :
void forEachOrdered(Consumer<? super T> action) Where, Consumer is a functional interface which is expected to operate via side-effects. and T is the type of stream elements.
Note : This operation processes the elements one at a time, in encounter order if one exists. Performing the action for one element happens-before performing the action for subsequent elements.
Example 1 : To print the elements of integer array in original order.
// Java code for forEachOrdered// (Consumer action) in Java 8import java.util.*; class GFG { // Driver code public static void main(String[] args) { // Creating a list of Integers List<Integer> list = Arrays.asList(10, 19, 20, 1, 2); // Using forEachOrdered(Consumer action) to // print the elements of stream in encounter order list.stream().forEachOrdered(System.out::println); }} |
10 19 20 1 2
Example 2 : To print the elements of string array in original order.
// Java code for forEachOrdered// (Consumer action) in Java 8import java.util.*; class GFG { // Driver code public static void main(String[] args) { // Creating a list of Strings List<String> list = Arrays.asList("GFG", "Geeks", "for", "Lazyroar"); // Using forEachOrdered(Consumer action) to // print the elements of stream in encounter order list.stream().forEachOrdered(System.out::println); }} |
GFG Geeks for Lazyroar
Example 3 : To print the characters at index 2 of string array in original order.
// Java code for forEachOrdered// (Consumer action) in Java 8import java.util.*;import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // Creating a Stream of Strings Stream<String> stream = Stream.of("GFG", "Geeks", "for", "Lazyroar"); // Using forEachOrdered(Consumer action) stream.flatMap(str-> Stream.of(str.charAt(2))) .forEachOrdered(System.out::println); }} |
G e r e



