java实现字符串中找出次数最多的所有字符及对应出现次数

public void statistics(String str){
        HashMap<Character, Integer> map = new HashMap<>();
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i]<123 & chars[i]>0){
                if (map.containsKey(chars[i])){
                    map.put(chars[i],map.get(chars[i])+1);
                }else {
                    map.put(chars[i],1);
                }
            }
        }
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        ArrayList<Character> list = new ArrayList<>();
        Integer temp =0;
        for (Map.Entry<Character, Integer> entry : entries) {
            if (entry.getValue()>=temp){
                temp = entry.getValue();
            }
        }
        for (Map.Entry<Character, Integer> entry : entries) {
            if (entry.getValue()==temp){
                list.add(entry.getKey());
            }
        }
        System.out.println(temp+" : "+list);
    }

运行效果如下:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44594056/article/details/89336614