Kotlin集合vs Kotlin序列与Java流( 二 )

上述例子使用 OpenJDK 提供的基准测试工具 JMH 进行测试 , 它可以在方法层面进行基准测试 。 上述例子的结果表明 , 在多次链式调用时 Sequence 比起 List 具有更高的效率 。
这是因为集合在处理每个步骤时都会返回一个新集合 , Sequence 不会在每个处理步骤中创建集合 。 对于数据量比较大时 , 应该选择 Sequence 。
三. Sequence VS StreamSequence 和 Stream 都使用的是惰性求值 。
在编程语言理论中 , 惰性求值(英语:Lazy Evaluation) , 又译为惰性计算、懒惰求值 , 也称为传需求调用(call-by-need) , 是一个计算机编程中的一个概念 , 目的是要最小化计算机要做的工作 。 它有两个相关而又有区别的含意 , 可以表示为“延迟求值”和“最小化求值” 。 除可以得到性能的提升外 , 惰性计算的最重要的好处是它可以构造一个无限的数据类型 。
下面列举了 Sequence 和 Stream 的一些区别:
Kotlin集合vs Kotlin序列与Java流文章插图
从易用性、性能角度来看 , 如果要从 Sequence 和 Stream 中作出选择的话 , 本人更加偏向 Sequence 。
原文链接:
【Kotlin集合vs Kotlin序列与Java流】如果觉得本文对你有帮助 , 可以转发关注支持一下


推荐阅读