scala排序视图集合性能

时间:2016-05-25 10:37:40

标签: scala sorting view

我理解, scala 中的“视图”用于不创建集合副本,因为我们需要一系列变换。它以惰性方式实现,因此在访问所有变换时计算元素。

(1 to 1000000).map(x=>x*x).map(_ % 7).take(1000)

将在每个步骤上创建一个临时集合,这不是获取结果所必需的。最好重写为:

(1 to 1000000).view.map(x=>x*x).map(_ % 7).take(1000)

所以问题是:如果我们需要在初步步骤中对其进行排序,那该怎么办:

 (1 to 1000000).sorted.map(x=>x*x).map(_ % 7).take(1000)

在这里添加'view'是否可行:

(1 to 1000000).view.sorted.map(x=>x*x).map(_ % 7).take(1000)

我只是想知道是否要对每个元素访问使用初始seq?

0 个答案:

没有答案