java中用键值对来判断字符串中各个字符出现次数的问题(用键值对添加)

img

img


如图各位 最后输出集合里面没有任东西 而我用集合的containsKey方法判断字符是否存在就可以正常添加 求解决

没有进循环哦,你在内循环中加一句输出语句,应该不会执行。
enSet集合一开始没有值,导致会一直没有进循环。

我想你需要这个。

import java.util.HashMap;

public final class Demo {

    public static void main(String[] args) {
        final String string = "abskjdkjsbsdansdnlskndlsknwkndelknwedkn";
        final HashMap<Character, Integer> map = new HashMap<>();
        final char[] chars = string.toCharArray();
        for (final char key : chars) {
            if (map.containsKey(key)) {
                map.put(key, map.get(key) + 1);
            } else {
                map.put(key, 1);
            }
        }
        System.out.println(map);
    }
}