一个流(Stream)是一系列值的序列。一个中间流操作(Intermediate Stream Operation)是一个对流进行操作的操作。例如,它可以应用于一个lambda表达式,并产生另一个流作为结果。
下面是最常用的中间流操作:
- 1) sorted():该方法保留了消耗的流的元素作为结果,但也按照自然排序顺序对它们进行排序。
- 2) distinct():该方法返回一个流,只保留输入流中的唯一元素,并且可以保持保留元素的相对顺序。
- 3) filter():该方法可以根据一些逻辑来过滤流元素。
- 4) map():该方法应用lambda表达式来计算输入流元素的新结果。然后,它将这些结果作为输出返回一个流。
在下面的代码片段中,我们可以在JShell工具中实现不同的中间流操作。
代码片段
jshell> List 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 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
登录后复制
以上就是如何在Java 9的JShell中使用中间流操作?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!