stream

2017-05-15  本文已影响12人  俊杰的笔记

跟java8不同, scala中连续多次使用map,中间会生成很多集合

val data = (1 to 1000000).toList
val x = data.map(x => x * x).map(_ -1)

以上代码实际对data进行了两次操作,数据量大时效率较低

使用view视图可以提高效率,省去生成中间集合,对每个元素连续进行两次操作,data只处理一遍。这种写法才相当于java 8 的stream写法
val x = data.view.map(x => x * x).map(_ -1).force

上一篇 下一篇

猜你喜欢

热点阅读