首页 > 代码库 > java8的stream类
java8的stream类
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类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。