前言
在一次处理数据时,需要将List(Map)
形式的数据转换为Map的形式。这时最简单的方法就是采用fold()
函数
fold函数:折叠,提供一个输入参数作为初始值,然后大括号中应用自定义fun函数并返回值。
list.fold(Map()){(x,y)=> x ++ y}
实例
object TestScala00 {
def main(args:Array[String])
{
var list= List(Map("g"->2.9),Map("h"->23.2),Map("e"->4.5))
// 初始化一个空的Map(),m1,m2,相当于List中的两个Map,++ 进行连接,放在一个Map中,最终List中所有的Map都会在一起
var map = list.fold(Map()){(m1,m2) => m1 ++ m2}
println(map)
println(map.keys)
}
}
结果展示
Map(g -> 2.9, h -> 23.2, e -> 4.5)
Set(g, h, e)
总结
- ++ 是连接两个map的方法
- fold()函数的使用