Java Stream forEachOrdered()方法及示例

Java Stream forEachOrdered()方法及示例

Stream forEachOrdered(Consumer action) 对该流的每个元素执行一个动作,如果该流有定义的相遇顺序,则按照该流的相遇顺序执行。Stream forEachOrdered(Consumer action)是一个 终端操作 ,也就是说,它可以遍历流,产生一个结果或副作用。

语法:

void forEachOrdered(Consumer <? super T> action)

其中,消费者是一个功能接口,它 预计将通过副作用进行操作,而T 是流元素的类型。

注意: 这个操作一次处理一个元素,如果有的话,按相遇的顺序。对一个元素进行操作后,再对后面的元素进行操作。

例1: 按原始顺序打印整数数组的元素。

// 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);
      
  
}
}

输出:

10
19
20
1
2

例2: 按原始顺序打印字符串数组的元素。

// 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);
      
  
}
}

输出:

GFG
Geeks
for
GeeksforGeeks

例3: 按原始顺序打印字符串数组中索引2的字符。

// 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);
      
  
}
}

输出:

G
e
r
e

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程