码迷,mamicode.com
首页 > 编程语言 > 详细

java8的stream类

时间:2017-07-20 10:22:29      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:表达式   data-   总结   max   上进   comparing   length   git   条件   

Stream 是用函数式编程方式在集合类上进行复杂操作的工具。 

 

1.collect(toList())

 由 Stream 里的值生成一个列表 

List<String> collected = Stream.of("a", "b", "c")
                               .collect(Collectors.toList()); 

 2.map

将一个流中的值转换成一个新的流

List<String> collected = Stream.of("a", "b", "hello")
                               .map(string -> string.toUpperCase())
                               .collect(toList());

 3.filter

符合条件的值被保留下来

List<String> beginningWithNumbers = Stream.of("a", "1abc", "abc1")
                                          .filter(value -> isDigit(value.charAt(0)))
                                          .collect(toList());

4.flatmap

首先将输入数据扁平化,然后再对flat后的值进行map操作

 

5.max、min

Track shortestTrack = tracks.stream()
                            .min(Comparator.comparing(track -> track.getLength()))
                            .get(); 

总结:

? 内部迭代将更多控制权交给了集合类。

? 和 Iterator 类似,Stream 是一种内部迭代方式。

? 将 Lambda 表达式和 Stream 上的方法结合起来,可以完成很多常见的集合操作。

 

参考:《java8函数式编程》

java8的stream类

标签:表达式   data-   总结   max   上进   comparing   length   git   条件   

原文地址:http://www.cnblogs.com/akanecode/p/7209002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!