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
				
					


