📜  在Java中流式传输 forEach() 方法和示例

📅  最后修改于: 2022-05-13 01:55:06.789000             🧑  作者: Mango

在Java中流式传输 forEach() 方法和示例

Stream forEach(Consumer action)对流的每个元素执行一个操作。 Stream forEach(Consumer action) 是一个终端操作,即它可以遍历流以产生结果或副作用。

句法 :

void forEach(Consumer action)

Where, Consumer is a functional interface
and T is the type of stream elements.

注意:此操作的行为是明确的非确定性的。此外,对于任何给定的元素,可以在库选择的任何时间和任何线程中执行该操作。

示例 1:对反向排序流的每个元素执行打印操作。

// Java code for forEach
// (Consumer action) in Java 8
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of Integers
        List list = Arrays.asList(2, 4, 6, 8, 10);
  
        // Using forEach(Consumer action) to
        // print the elements of stream
        // in reverse order
        list.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);
    }
}
输出:
10
8
6
4
2

示例 2:对字符串流的每个元素执行打印操作。

// Java code for forEach
// (Consumer action) in Java 8
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of Strings
        List list = Arrays.asList("GFG", "Geeks",
                                          "for", "GeeksforGeeks");
  
        // Using forEach(Consumer action) to
        // print the elements of stream
        list.stream().forEach(System.out::println);
    }
}
输出:
GFG
Geeks
for
GeeksforGeeks

示例 3:对反向排序的字符串流的每个元素执行打印操作。

// Java code for forEach
// (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 stream = Stream.of("GFG", "Geeks",
                                          "for", "GeeksforGeeks");
  
        // Using forEach(Consumer action) to print
        // Character at index 1 in reverse order
        stream.sorted(Comparator.reverseOrder())
            .flatMap(str -> Stream.of(str.charAt(1)))
            .forEach(System.out::println);
    }
}
输出:
o
e
e
F