java,帮助使用hm(hashmap)和提高效率使用给定的数组和给定的数字,将重复和非重复的数字正确地放置在hm中

lnlaulya  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(331)

对于一个给定的数组,它充满了数字并且已经清空了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]

zhte4eai

zhte4eai1#

您正试图在for循环中打印Map。如果只想打印一次,只需在循环外打印即可。
此外,还可以使用getordefault

for(int i: array) {
     t.put(i, t.getOrDefault(i,0)+1);  
}

相关问题