地图和Scala中的性能比较

时间:2016-02-02 06:50:13

标签: algorithm scala jvm

我想知道他们两个人在做同样的事情时,在第二个陈述中使用第一个可能的用例。

    val xs = List[Int](1,2,3,4,5,6)

获取数字列表:

    for (x <- xs if x%2 == 0) 
           yield x*10 

同样如下:

    xs.filter(_%2 == 0).map(_*10)

1 个答案:

答案 0 :(得分:4)

我认为没有性能差异。使用for循环的代码将被转换为filtermap的代码(详细信息可能因Scala版本而异)。根据您的喜好,您要使用哪个版本。有关详细信息,请参阅此answer