找出给定字符串中出现最多的字符和次数

Posted tonggc1668

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找出给定字符串中出现最多的字符和次数相关的知识,希望对你有一定的参考价值。

public static void findMaxCountChar(String str) {
        if (str == null || str == "")
            return;
        Map<String, Integer> map = new HashMap<String, Integer>();
        int maxCount = 0;
        String maxCountStr = "";
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < str.length(); i++) {
            String key = String.valueOf(str.charAt(i));
            if (maxCount >= str.length() / 2) {
                if (maxCountStr == key) {
                    maxCount++;
                }
            } else {
                if (!map.containsKey(key)) {
                    map.put(key, 1);
                } else {
                    int count = map.get(key);
                    map.put(key, count + 1);
                    if ((count + 1) > maxCount) {
                        maxCount = count + 1;
                        maxCountStr = key;
                        list.clear();
                        list.add(key);
                    } else if ((count + 1) == maxCount) {
                        list.add(key);
                    }
                }
            }

        }
        System.out.println("最大次数" + maxCount);
        if (maxCount >= str.length() / 2) {
            System.out.println("字符" + maxCountStr);
        } else {
            System.out.println("字符" + list);
        }
    }

 

以上是关于找出给定字符串中出现最多的字符和次数的主要内容,如果未能解决你的问题,请参考以下文章

有一万条字符串,要找出前10条出现次数最多的,该如何解决

如何获取数组中出现次数最多的字符串?

笔试:找出一个字符串中字符出现最多的次数和该字符

用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;

找出字符串中连续出现次数最多的子串

找出字符串中连续出现次数最多的子串