Kotlin进阶实战
上QQ阅读APP看书,第一时间看更新

3.3.2 序列和流

序列和流都使用的是惰性求值。

在编程语言理论中,惰性求值(Lazy Evaluation)也称为传需求调用(call-by-need),是计算机编程中的一个概念,目的是最小化计算机要做的工作。它有两个相关而又有区别的含意,可以表示为“延迟求值”和“最小化求值”。除了可以得到性能的提升外,惰性计算的重要好处是可以构造一个无限的数据类型。

表3-2列举了序列和流的一些区别。

表3-2 序列和流的区别

从易用性、性能角度来看,如果要从序列和流中做出选择,笔者偏向于序列。