kotlin 流操作中懒汉和饿汉的疑惑

来源:6-4 集合变换与序列

洪小才

2022-01-27

这里面有关于使用asSequence()是否开启懒汉,存在一些疑惑

我是一个java老手,java里面开启流操作也就是.stream(),按照视频中的说法,kotlin在使用asSequence()才会与java一致的话,也就是java中流操作是基于懒汉操作

疑问
(1)一般讲懒汉或者饿汉都是在聊创建对象,这里的懒汉饿汉主要是针对行为,所以对于行为而言,哪种会更好?是懒汉吗(因为纯java环境就只有懒汉了呀)?为什么?

(2)在开发中如何根据什么原因选取使用流操作的懒汉或者饿汉呢?

写回答

1回答

bennyhuo

2022-01-27

懒序列,只有在求值的时候例如sum,forEach这样的函数调用,前面的map flatmap之类的变换才会被执行到,不然就不执行。意味着通常只需要一次循环。

反之,每一次map就做一次循环,你自己就可以想出来有什么不一样。

什么时候用哪个,如果集合元素很多很复杂的话,懒序列合适。

0
0

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程