对于一个给定的数组,它充满了数字并且已经清空了hm,我如何输入数组到hm(hashmap)的所有值,并且重复添加到同一个键(即数字)的值(如果数字不在hm中,则从1开始)。我已经写了一个函数来做这个,但它似乎不工作。这是我的密码:
public static void placeInHM(int[] array,HashMap<Integer, Integer> t ) {
for(int i: array) {
if(t.containsKey(i)) {
t.replace(i,t.get(i)+1);
}
else {
t.put(i, 1);
}
System.out.println(t);
}
}
如有帮助,不胜感激示例-数组为: [2, 3, 5, 3, 7, 9, 5, 3, 7]
hm应该是这样的,值是相同数字重复的次数): [3(key),3(value)][2,1][5,2][7,2][9,1]
1条答案
按热度按时间zhte4eai1#
您正试图在for循环中打印Map。如果只想打印一次,只需在循环外打印即可。
此外,还可以使用getordefault