计算 Map[String, BigInt] 的总和
Calculate sum of Map[String, BigInt]
我有一个由 BigInt 值组成的地图,我想计算这些值的总和,并 return 它在地图中作为一个值。我一直在尝试使用 sum 方法或 reduce 但每次我得到每个键的总和或值 reduce 不是 BigInt 的成员。我怎样才能做到这一点?
这是我与 reduce 一起使用的代码:
def calculateSum(input: Map[String, BigInt]): Map[String, BigInt] = {
val sum = data
.map { case (name, id) =>
name -> input.get(name).sum
}
.map{ case (name, count) =>
"result" -> count.reduce(_ + _)
}
sum
}
数据 类型:Map[String, Int]
输入例子:
("category 1" -> 0, "category 2" -> 0, "category 3" -> 430, "category 4" -> 0, "category 5" -> 0, "category 6" -> 1400,"category 7" -> 0)
输出例子:
("result1" -> 1830)
看来你想得到值的总和,可以这样做:
def calculateSum(input: Map[String, BigInt]): Map[String, BigInt] = {
val sum = input.values.sum
Map("result" -> sum)
}
我有一个由 BigInt 值组成的地图,我想计算这些值的总和,并 return 它在地图中作为一个值。我一直在尝试使用 sum 方法或 reduce 但每次我得到每个键的总和或值 reduce 不是 BigInt 的成员。我怎样才能做到这一点? 这是我与 reduce 一起使用的代码:
def calculateSum(input: Map[String, BigInt]): Map[String, BigInt] = {
val sum = data
.map { case (name, id) =>
name -> input.get(name).sum
}
.map{ case (name, count) =>
"result" -> count.reduce(_ + _)
}
sum
}
数据 类型:Map[String, Int]
输入例子: ("category 1" -> 0, "category 2" -> 0, "category 3" -> 430, "category 4" -> 0, "category 5" -> 0, "category 6" -> 1400,"category 7" -> 0)
输出例子: ("result1" -> 1830)
看来你想得到值的总和,可以这样做:
def calculateSum(input: Map[String, BigInt]): Map[String, BigInt] = {
val sum = input.values.sum
Map("result" -> sum)
}