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