社区
Java
帖子详情
新特性,Stream流为什么只能使用一次?
小包包007
2019-12-02 04:21:21
网上查的是说"Stream就类比成一个杯子,杯子里的水就像Stream里的数据,你把杯子里的水拿出来了,杯子的水就没有了,Stream也是同样的道理"
然后自己断点查源码,ArrayListSpliterator类下有个index记录索引和linkedOrConsumed状态来让流只能被使用一次,虽然是这么设计,但为什么这么设计,为什么不能重复使用
...全文
695
2
打赏
收藏
新特性,Stream流为什么只能使用一次?
网上查的是说"Stream就类比成一个杯子,杯子里的水就像Stream里的数据,你把杯子里的水拿出来了,杯子的水就没有了,Stream也是同样的道理" 然后自己断点查源码,ArrayListSpliterator类下有个index记录索引和linkedOrConsumed状态来让流只能被使用一次,虽然是这么设计,但为什么这么设计,为什么不能重复使用
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qybao
2019-12-02
打赏
举报
回复
这符合流的特点啊,而且它本身的实现也像是一个超级迭代器
类似文件流,尤其是socket流,数据本身就是在网络中,使用过后网络里就不存在数据了,“流”干了
所以想再使用流,那就就重开个流
SZ深呼吸
2019-12-02
打赏
举报
回复
Stream翻译过来是什么,流,流动的水,而不是杯子里静止的水。你用水管里的水冲了马桶还要回收回去再用来洗脸刷牙么
Java
新特性
之Lambda与
Stream
流
Java
新特性
之Lambda表达式与
Stream
流
内容包括: Lambda表达式 接口新特 方法引用 函数式接口
Stream
流
日期
新特性
全方面的介绍对集合
流
式操作
使用
Lambda表达式可以极大地简化工作中的代码量
Java8
新特性
Stream
流
Stream
的处理是单向的,这一点和迭代器一样,数据
只能
遍历
一次
,
一次
过后就用完了,下
一次
得重头来,每次转换原有的
Stream
对象不会改变,而是返回一个新的
Stream
对象,这样就允许了操作可以是链式的。
Java8的
Stream
流
详解
首先,
Stream
流
有一些特性: ...
Stream
不保存数据,故每个
Stream
流
只能
使用
一次
。 关于应用在
Stream
流
上的操作,可以分成两种:Intermediate(中间操作)和Terminal(终止操作)。中间操作的返回结果都是...
JDK8
新特性
(
Stream
流
)
二、为什么要
使用
Stream
流
?每当我们需要对集合中的元素进行操作的时候,总是需要进行循环、循环、再循环。这是理所当然的么?不是。循环 是做事情的方式,而不是目的。每个需求都要循环
一次
,还要搞一个新集合来装...
JAVA 1.8
新特性
Stream
终端操作,每个
流
只能
进行
一次
终端操作,终端操作结束后
流
无法再次
使用
。终端操作会产生一个新的集合或值。 另外,
Stream
有几个特性:
stream
不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果。 ...
Java
50,527
社区成员
85,606
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章