美文网首页
Java Stream 与kotlin迭代器的比较

Java Stream 与kotlin迭代器的比较

作者: mibro | 来源:发表于2018-04-05 17:50 被阅读0次

Stream 严格上在长链式调用的时候有性能优势

  • Stream 可以并行化操作,kotlin迭代器只能命令式地、串行化操作。当使用串行方式去遍历时,每个 item 读完后再读下一个 item。而使用并行去遍历时,数据会被分成多个段,其中每一个都在不同的线程中处理,然后将结果一起输出。
  • Stream的计算过程是在Collect的时候才发生的,也就是在collect之前都是声明他是lazy的,即便我map 10次,实际上我只在collect的时候迭代一次,更有甚者,类似filter之后getFirst这种,第一个filter命中就会直接停止了后面的filter。

Stream 的性能优势在很多场景下并没意义,因为很少有那么长的链,而且kotlin中也有代替的Sequence接口。

相关文章

网友评论

      本文标题:Java Stream 与kotlin迭代器的比较

      本文链接:https://www.haomeiwen.com/subject/saddhftx.html