如何在 Java 9 中的 JShell 中使用中间流操作?

javaobject oriented programmingprogramming更新于 2025/10/23 7:08:17

JShell 是 Java9 中引入的工具,它接受表达式、变量、方法、类等简单语句作为输入并立即产生结果。

流是一系列值。中间流操作是采用流的操作。例如,它可以应用于 lambda 表达式并生成另一个元素流作为其结果。

下面提到了最流行的中间流操作:

  • 1) sorted():此方法将所消耗流的元素保留为结果,但也将它们置于自然排序顺序中。
  • 2) distinct():此方法返回仅保留输入流的唯一元素的流,并且可以维护保留元素的相对顺序。
  • 3) filter():此方法可用于根据某些逻辑过滤流元素。
  • 4) map():此方法应用 lambda 表达式从输入流元素计算新结果。然后,它返回这些结果的流作为输出。

在下面的代码片段中,我们可以在 JShell 工具中实现不同的中间流操作。

代码片段

jshell> List<Integer> numbers = List.of(3, 10, 23, 200, 77, 9, 32);
numbers ==> [3, 10, 23, 200, 77, 9, 32]

jshell> numbers.stream().sorted().forEach(elem -> System.out.println(elem));
3
9
10
23
32
77
200
jshell> List<Integer> numbers = List.of(3, 5, 54, 280, 5, 9, 40);
numbers ==> [3, 5, 54, 280, 5, 9, 40]

jshell> numbers.stream().distinct().forEach(elem -> System.out.println(elem));
3
5
54
280
9
40
jshell> numbers.stream().distinct().sorted().forEach(elem -> System.out.println(elem));
3
5
9
40
54
280
jshell> numbers.stream().distinct().map(num -> num * num).forEach(elem -> System.out.println(elem));
9
25
2916
78400
81
1600

相关文章


有用资源