Java Stream
知识点
- 集合
- 集合和Stream的区别
- Stream
- 中间操作
- 终端操作
集合
所有语言中最基础的操作就是对数据集合管理,集合可以理解为语言中对数据结构的实现,例如数组,List,Map 为主要的数据类型。
集合就是对数据的储存
集合和Stream的区别
我们可以理解为集合是数据的静态储存,Stream是数据的动态处理。
Stream
Stream 流,描述了数据在处理过程中采用了何种方式来处理数据。数据就像水流一样流过一个一个的处理节点。Stream 是对反应式编程的一种实现。
Stream 只能遍历一次
中间操作
方法名 | 函数接口 | 签名 | 简介 |
---|---|---|---|
filter | Predicate |
T -> boolean | 过滤数据,保留结果为true的数据 |
map | Function<T,R> | T -> R | 数据处理转换,数据映射,将数据转换为新的数据 |
flatMap | Function<T,Stream |
(T,Stream |
|
distinct | - | - | 去重 |
limit | - | - | 限制获取多少个 |
skip | - | - | 限制跳过多少个 |
takeWhile | Predicate |
T -> boolean | [Java9] |
dropWhile | Predicate |
T -> boolean | [Java9] |
终端操作
方法名 | 函数接口 | 签名 | 简介 |
---|---|---|---|
forEach | Consumer |
T -> void | 遍历循环处理 |
toArray | - | - | - |
reduce | - | - | - |
collect | Collector<T,A,R> | - | - |
min | Comparator |
- | - |
max | - | - | - |
count | - | - | - |
findFirst | - | - | - |
findAny | - | - | - |
anyMatch | - | - | - |
allMatch | - | - | - |
noneMatch | - | - | - |