Kotlin集合vs Kotlin序列与Java流( 二 )
上述例子使用 OpenJDK 提供的基准测试工具 JMH 进行测试 , 它可以在方法层面进行基准测试 。 上述例子的结果表明 , 在多次链式调用时 Sequence 比起 List 具有更高的效率 。
这是因为集合在处理每个步骤时都会返回一个新集合 , Sequence 不会在每个处理步骤中创建集合 。 对于数据量比较大时 , 应该选择 Sequence 。
三. Sequence VS StreamSequence 和 Stream 都使用的是惰性求值 。
在编程语言理论中 , 惰性求值(英语:Lazy Evaluation) , 又译为惰性计算、懒惰求值 , 也称为传需求调用(call-by-need) , 是一个计算机编程中的一个概念 , 目的是要最小化计算机要做的工作 。 它有两个相关而又有区别的含意 , 可以表示为“延迟求值”和“最小化求值” 。 除可以得到性能的提升外 , 惰性计算的最重要的好处是它可以构造一个无限的数据类型 。
下面列举了 Sequence 和 Stream 的一些区别:
文章插图
从易用性、性能角度来看 , 如果要从 Sequence 和 Stream 中作出选择的话 , 本人更加偏向 Sequence 。
原文链接:
【Kotlin集合vs Kotlin序列与Java流】如果觉得本文对你有帮助 , 可以转发关注支持一下
推荐阅读
- leetcode之错误的集合
- mac技巧|查找 Mac 的机型名称和序列号四种方法
- 详解HashMap集合
- 关于List集合,这份总结很全面
- 马斯克:特斯拉是十多家初创企业的集合 看好保险业务
- 内容推荐算法:异构行为序列建模探索
- 近20年Windows权限提升集合
- 快速学习Java中的CopyOnWrite集合
- java的各种集合为什么不安全(List、Set、Map)?
- 收藏了!70%的程序员都不知道的序列化细节,清晰明了