我正在尝试编写具有以下签名的方法:
def buildSumMap(minInterval:Int, mappes:SortedMap[Int, Long]):SortedMap[Int, Long] = {...}
在方法中,我想通过将以下伪代码应用于每
(key:Int,value:Long)
对“映射”来返回一个新映射:
If(key + minInterval > nextKey) {
value += nextValue
}
else {
//Forget previous key(s) and return current key with sum of all previous values
return (key, value)
}
示例:如果我有源地图((10 -> 5000), (20 -> 5000), (25 -> 7000), (40 -> 13000))
并将 minInterval 定义为 10,我希望得到的地图:
((10 -> 5000), (25 -> 12000), (40 -> 13000))
我发现了很多单独转换过滤键和值的键和值的示例,但到目前为止还没有一个用于删除键同时保留值的示例。