我遇到了以这种形式<String, List<time,value>>
获取散列图值的问题。如果我想简化我的问题,数据结构采用以下格式:
{data1=[fetchTime=123, value=1], [fetchTime=124, value=8], [fetchTime=125,value=0],
data2=[fetchTime=123, value=3], [fetchTime=124, value=8], [fetchTime=125, value=6], data3=[fetchTime=123, value=6], [fetchTime=124, value=9], [fetchTime=125, value=1]}
我想要做的是计算&#34;相同&#34;的值的总和。获取时间。所以基本上我想总结123的取指时间值(1 + 3 + 6)和取指时间124(8 + 8 + 9)等等。
此时我只关心算法或任何提示而不是确切的运行代码,所以请建议我如何做。
谢谢!
答案 0 :(得分:0)
作为一个简单的解决方案,您可以使用另一个hashmap:
即。 resultMap<fetchTime, [long]sum>
:)
for each item in hashmap
//+ extra for for each item of your list
if (resultMap.contains(item.fetchTime))
resultMap.put(item.fetchTime, item.value + resultMap.get(item.value))
else
resultMap.put(item.fetchTime, item.value)
for each item in resultMap
... print keys and values