reduceLeft reduceRight
都用于对集合元素的归约
这里举例说明
/*
a b c
a+b 会作为第一个参数值传入
*/
@Test
def testReduceLeft() = {
val list = List(4, 5, 6)
// (4 - 5) - 6
println(list.reduceLeft(_ - _))
// 4 - (5 - 6)
println(list.reduceRight(_ - _))
}
reduceLeft
集合从左往右遍历, 每次将处理结果作为下次遍历的第一个参数
reduceRight
集合从右往左遍历, 不过注意参数列表顺序仍与在集合顺序一致, 每次将处理结果作为下次遍历的第二个参数