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

public void statistics(String str){
        HashMap 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> entries = map.entrySet();
        ArrayList list = new ArrayList<>();
        Integer temp =0;
        for (Map.Entry entry : entries) {
            if (entry.getValue()>=temp){
                temp = entry.getValue();
            }
        }
        for (Map.Entry entry : entries) {
            if (entry.getValue()==temp){
                list.add(entry.getKey());
            }
        }
        System.out.println(temp+" : "+list);
    }

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

你可能感兴趣的:(学习之路,数据结构篇)