所以我有一个名为“hm”的hashmap,它产生以下输出(注意: 这只是一个选择):
{1=35, 2=52, 3=61, 4=68, 5=68, 6=70, 7=70, 8=70, 9=70, 10=72, 11=72}
{1=35, 2=52, 3=61, 4=68, 5=70, 6=70, 7=70, 8=68, 9=72, 10=72, 11=72}
{1=35, 2=52, 3=61, 4=68, 5=68, 6=70, 7=70, 8=70, 9=72, 10=72, 11=72}
此输出是使用以下代码创建的(注意:此处未显示其余的类代码):
private int scores;
HashMap<Integer,Integer> hm = new HashMap<>();
for (int i = 0; i < fileLines.length(); i++) {
char character = fileLines.charAt(i);
this.scores = character;
int position = i +1;
hm.put(position,this.scores);
}
System.out.println(hm);
我要做的是将所有这些哈希映射放在一个hashmap中,其值为每个键值的总和。我熟悉Python的defaultdict,但找不到相同的工作示例。我已经搜索了一个答案并点击下面的答案,但它们并没有解决我的问题。
How to calculate a value for each key of a HashMap?
what java collection that provides multiple values for the same key
is there a Java equivalent of Python's defaultdict?
所需的输出是:
{1=105, 2=156, 3=183 , 4=204 ,5=206 ..... and so on}
最终必须计算每个位置的平均值(关键字),但这是一个问题,我想当我知道如何进行上述操作时,我可以自行修复。
编辑:实际输出要大得多!考虑100多个具有超过100个密钥的哈希映射。答案 0 :(得分:3)
尝试类似的东西
public User() {
Id = Guid.NewGuid();
DateCreated = DateTime.UtcNow;
StateId = STATES.NEW.ID;
}
基本上:
答案 1 :(得分:1)
newHashMap.put(key1,map1.get(key1)+map2.get(key1)+map3.get(key1));