| 接口 | 说明 |
|---|---|
| CollectableStream<T> |
允许实现类直接跳过
Stream.collect(Collector)使用Collector中一些常用方法 |
| Steam.Builder<T> |
| 类 | 说明 |
|---|---|
| Steam<T> |
对Stream的封装和拓展,作者经对比了vavr、eclipse-collection、stream-ex以及其他语言的api,结合日常使用习惯,进行封装和拓展
Stream为集合提供了一些易用api,它让开发人员能使用声明式编程的方式去编写代码
它分为中间操作和结束操作
中间操作分为
无状态中间操作: 表示不用等待 所有元素的当前操作执行完 就可以执行的操作,不依赖之前历史操作的流的状态
有状态中间操作: 表示需要等待 所有元素的当前操作执行完 才能执行的操作,依赖之前历史操作的流的状态
结束操作分为
短路结束操作: 表示不用等待 所有元素的当前操作执行完 就可以执行的操作
非短路结束操作: 表示需要等待 所有元素的当前操作执行完 才能执行的操作
流只有在 结束操作 时才会真正触发执行以往的 中间操作
它分为串行流和并行流
并行流会使用拆分器
Spliterator将操作拆分为多个异步任务ForkJoinTask执行
这些异步任务默认使用ForkJoinPool线程池进行管理 |
Copyright © 2023 dromara. All rights reserved.