【发布时间】:2014-03-06 09:24:04
【问题描述】:
我目前有 2 个列表 List('a','b','a') 和 List(45,65,12),第二个列表中的更多元素和元素通过键链接到第一个列表中的元素价值关系。我想通过添加相应的值来组合具有相同键的元素并创建一个应该看起来像 Map('a'-> 57,'b'->65) as 57 = 45 + 12 的映射。
我目前已将其实现为
val keys = List('a','b','a')
val values = List(45,65,12)
val finalMap:Map(char:Int) =
scala.collection.mutable.Map().withDefaultValue(0)
0 until keys.length map (w => finalMap(keys(w)) += values(w))
我觉得应该有比我做的更好的方法(功能方法)来创建所需的地图。我怎样才能改进我的代码并以更实用的方式做同样的事情?
【问题讨论】:
-
如果集合很大stackoverflow.com/questions/15529726/…,这个问题的答案是合适的。 Scala 集合确实应该像 Apache Spark 一样提供
combineByKey。
标签: scala functional-programming scala-2.8