Java Stream
JavaStream
流的方法被分为中间操作和终端操作,顾名思义,中间操作是指调用方法后生成新的流,可以继续执行操作,而终端操作则是结束流的使用。
中间操作:
- filter 过滤掉不符合的数据
- limit 只取前x条数据
- skip 跳过(删除)x条数据
- distinct 去重复数据
- sorted 排序
- map 对数据重整,生成新的数据流(如何从用户集合流中取出用户年龄作为新的流)
终端操作:
- count 统计数据数量
- forEach 对流中每个数据都执行传入的方法
- anyMatch 至少一个匹配,返回bool
- allMatch 匹配所有,返回bool
- collect 可以传入集合中的常用方法,例如:Collector.toList()将流转回集合,Collector.groupingBy()将流中数据分组
- reduce 进行归约操作,例如求和等
Java中数组和列表对变换成为流的操作不一样
数组 |
Integer[] arr = new Integer[10]; Stream<Integer> arrStream = Stream.of(arr); |
列表 |
ArrayList<Integer> List = new ArrayList<>(); Stream<Integer> listStream = List.stream(); |