欢迎访问宙启技术站
智能推送

Java函数实现:统计字符串中出现次数最多的字符

发布时间:2023-06-13 01:45:37

在 Java 中,可以使用一个 Map 来实现统计字符串中出现次数最多的字符。以下是具体实现步骤:

1. 首先定义一个 Map 对象来存储每个字符出现的次数。

Map<Character, Integer> charMap = new HashMap<>();

2. 遍历字符串,将每个字符和出现次数存储到 Map 中。

for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
    if (charMap.containsKey(c)) {
        int count = charMap.get(c);
        charMap.put(c, count + 1);
    } else {
        charMap.put(c, 1);
    }
}

3. 找出出现次数最多的字符。

char maxChar = ' ';
int maxCount = 0;
for (Map.Entry<Character, Integer> entry : charMap.entrySet()) {
    if (entry.getValue() > maxCount) {
        maxChar = entry.getKey();
        maxCount = entry.getValue();
    }
}

完整实现代码如下:

public static char findMostFrequentChar(String str) {
    if (str.isEmpty()) {
        return ' ';
    }
    Map<Character, Integer> charMap = new HashMap<>();
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (charMap.containsKey(c)) {
            int count = charMap.get(c);
            charMap.put(c, count + 1);
        } else {
            charMap.put(c, 1);
        }
    }
    char maxChar = ' ';
    int maxCount = 0;
    for (Map.Entry<Character, Integer> entry : charMap.entrySet()) {
        if (entry.getValue() > maxCount) {
            maxChar = entry.getKey();
            maxCount = entry.getValue();
        }
    }
    return maxChar;
}

使用方法:

String str = "hello world";
char mostFrequentChar = findMostFrequentChar(str);
System.out.println(mostFrequentChar);

输出结果:

l