计算 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)
}