1 折叠 fold函数将上一步返回的值作为函数的第一个参数继续传递参与运算,直到list中的所有元素被遍历。 1)可以把reduceLeft看做简化版的foldLeft。 如何理解: def reduceLeft[B >: A](@deprecatedName('f) op: (B, A) => B ...
分类:
其他好文 时间:
2020-07-08 10:30:25
阅读次数:
89
说明 从本质上来讲,fold方法读取一种数据,然后返回给你另外一种。 fold和foldLeft和foldRight做的事同样的事情,仅有一点点不同。 fold val numbers = List(1, 2, 3, 4, 5) val res = numbers.fold(10) { (z, i)... ...
分类:
其他好文 时间:
2020-04-18 09:32:45
阅读次数:
47
map和flatMap map flatMap Map和flatMap的区别 sorted/sortedBy/sortWith groupBy reduce/fold reduce reduceLeft reduceRight fold foldLeft foldRight filter/filte ...
分类:
其他好文 时间:
2019-09-20 12:09:00
阅读次数:
79
使用foldLeft函数,实现简易的wordCount 运行结果为: ...
分类:
其他好文 时间:
2019-08-30 18:50:00
阅读次数:
69
经常有一些需要做id打通的场景,比如用户id打通等, 问题抽象是每条数据都可以解析出一个或多个kv pair:(id_type,id),然后需要将某一个kv pair匹配的多条数据进行merge; 比如: data1: Array(('type1', 'id1'), ('type2', 'id2') ...
分类:
其他好文 时间:
2019-06-07 11:02:04
阅读次数:
140
1. x.purchaseIntax.getOrElse(BigDecimal(0.00)) 可以直接写成 x.purchaseIntax.getOrElse(0)自动转换的 2. srcDataList.foldLeft(0.0)((s, v) => s+v.firstCostTax.toDoub ...
分类:
其他好文 时间:
2019-04-18 20:26:08
阅读次数:
163
开发中遇到需求:合并两个Map集合对象(将两个对应Key的值累加) 先说解决方案: 首先: Scala中现有的合并集合操作不能满足这个需求 。 注意合并后的结果a的G02的值其实是被覆盖掉了。。 然后: 说说那个表达式中(a /: b)( ... ) 这部分是什么鬼。这个其实是scala简化的fol ...
分类:
其他好文 时间:
2019-03-30 13:16:54
阅读次数:
183
package com.bigdata object ListO { def main(args: Array[String]): Unit = { println() } val list = List(1,2,3,4) for (i x%2 == 0) // 取出List中的偶数; val li... ...
分类:
其他好文 时间:
2019-02-14 15:14:06
阅读次数:
140
List(1,2,3,4)问题:计算foldRight(1)(_-_) 与foldLeft(1)(_-_)值不一样首先看foldRight(1)(_-_)计算过程((( (1-1)-2)-3)-4) 也就是等价与1-1-2-3-4=-9(从左往右减)然而foldLeft过程是: List(1,2,3 ...
分类:
其他好文 时间:
2018-10-28 11:30:09
阅读次数:
193