stream流的思想
作用:结合了Lambda表达式,简化集合,数组的操作
使用步骤:
-
先得到一条stream流水线,并把数据放上去
-
-
使用终结方法对流水线上的数据进行操作
| 获取方式 | 方法名 | 说明 |
|---|---|---|
| 单列集合 | default Stream< E >stream() | Collection中的默认方法 |
| 双列集合 | 无 | 无法直接使用Stream流 |
| 数组 | public static< T >stream(T[]array) | Array中的静态方法 |
| 一堆零散数据 | public static< T >stream< T >of(T...values) | stream接口中的静态方法 |
中间方法
| 名称 | 说明 |
|---|---|
| stream< T >filter(predicate<? super T>predicate) | 过滤 |
| stream< T >limit(long maxsize) | 获取前几个元素 |
| stream< T >skip(long n) | 跳过前几个元素 |
| stream< T >distinct() | 元素去重,依赖(hashcode和equals方法) |
| stream< T >stream< T >concat(stream a,stream b) | 合并a和b两个流为一个流 |
| stream< R >map(Function< T ,R >mapper) | 转换流中的数据类型 |
-
中间方法:返回新的Stream流,原来的Stream流只能用一次,建议用链式编程
-
修改Stream流中的数据,不会影响原来集合或数组中的数据
终结方法
| 名称 | 说明 |
|---|---|
| void forEach(consumer action) | 遍历 |
| long count() | 统计 |
| toArray() | 收集流中的数据,放到数组 |
| Collect(Collector collector) | 收集流中数据,放到集合中 |

浙公网安备 33010602011771号