Open In App

Stream forEachOrdered() method in Java with examples

Last Updated : 06 Dec, 2018
Comments
Improve
Suggest changes
1 Likes
Like
Report
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
// Java code for forEachOrdered
// (Consumer action) in Java 8
import 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);
    

}
}
Output:
10
19
20
1
2
Example 2 : To print the elements of string array in original order. Java
// Java code for forEachOrdered
// (Consumer action) in Java 8
import 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", "GeeksforGeeks");
    
    // Using forEachOrdered(Consumer action) to 
    // print the elements of stream in encounter order
    list.stream().forEachOrdered(System.out::println);
    

}
}
Output:
GFG
Geeks
for
GeeksforGeeks
Example 3 : To print the characters at index 2 of string array in original order. Java
// Java code for forEachOrdered
// (Consumer action) in Java 8
import 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", "GeeksforGeeks");
    
    // Using forEachOrdered(Consumer action) 
    stream.flatMap(str-> Stream.of(str.charAt(2)))
          .forEachOrdered(System.out::println);
    

}
}
Output:
G
e
r
e

Explore