scala reduceleft和 foldleft的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala reduceleft和 foldleft的区别相关的知识,希望对你有一定的参考价值。

参考技术A reduceLeft可以看作一个简便方法。它相当于:
list.tail.foldLeft(list.head)(_)

下面是定义:
def foldLeft [B] (z: B)(f: (B, A) => B): B
def reduceLeft [B >: A] (f: (B, A) => B): B

可以看到,reduceLeft只是简单的把list的第一个元素作为运算的开始元素,而foldLeft则需要传入一个元素作为开始元素。

以上是关于scala reduceleft和 foldleft的区别的主要内容,如果未能解决你的问题,请参考以下文章

scala flatMap reduceLeft foldLeft

While 循环 - Scala

斯卡拉:折叠与折叠左

我发现Scala的下划线不一致

第1节 Scala基础语法:scala中的方法源码分析

scala 数据结构:折叠扫描拉链(合并)迭代器