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