在Scala中,要折叠List并返回中间结果,可以使用foldLeft
方法。foldLeft
方法接收一个初始值(称为累加器)和一个函数,该函数接收两个参数:累加器和列表中的当前元素。函数的返回值将作为下一次迭代的累加器。
以下是一个示例,演示如何使用foldLeft
方法折叠一个整数列表并返回中间结果:
val list = List(1, 2, 3, 4, 5)
val result = list.foldLeft(0) { (accumulator, currentElement) =>
val newValue = accumulator + currentElement
println(s"Accumulator: $accumulator, Current Element: $currentElement, New Value: $newValue")
newValue
}
println(s"Result: $result")
在这个示例中,我们使用foldLeft
方法将累加器初始化为0,然后遍历整数列表。在每次迭代中,我们将累加器和当前元素相加,并将结果作为新的累加器。同时,我们还在每次迭代中打印中间结果。
最后,我们将最终的累加器值(即中间结果)打印出来。在这个例子中,输出结果应为15。
请注意,这个示例中的代码是为了演示foldLeft
方法的用法,实际上计算整数列表的和可以直接使用sum
方法。
领取专属 10元无门槛券
手把手带您无忧上云