scala的reduce操作

scala当中的reduce可以对集合当中的元素进行归约操作。

reduce包含reduceLeft和reduceRight。reduceLeft就是从左向右归约,reduceRight就是从右向左归约。

示例代码

scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)
scala> list.reduceLeft(_ + _)
res0: Int = 15
scala> list.reduceRight(_ + _)
res1: Int = 15

解释

其中下划线是占位符,两个下划线表示归约的规则是使用前后两个元素,中间的加号,用来表示对元素的操作,这里我们使用的是加法。上面的运算就是从左到右相加。

特别的

如果我们不指定reduce是left还是right默认情况下会使用reduceLeft执行操作。

scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)
scala> list.reduce(_ - _)
res3: Int = -13

你可能感兴趣的:(scala的reduce操作)