String ArrayList 计算第一个字母出现的次数并返回出现次数最多的字符

问题描述 投票:0回答:1

我正在尝试使用嵌套 for 循环解决问题,以便能够首先找到 ArrayList 名称中每个字符串的第一个字母,然后需要计算每个第一个字母的出现次数并返回出现次数最多的字母的 char 值。

我目前拥有每个字符串的第一个字母,但正在努力实现如何计数。

public char getMostCommonStartingLetter() {
char mostCommonLetter = '.';
int count = 0;

for (String firstLetter: names)
{
//Find first letter
System.out.println(mostCommonLetter = firstLetter.charAt(0));

}
System.out.println(count);
System.out.println(mostCommonLetter);
return mostCommonLetter;
}
java arraylist
1个回答
0
投票
public static char getMostCommonStartingLetter(List<String> names)
{
    Map<Character, Integer> letterCount = new HashMap<>();

    // Count occurrences of first letters
    for (String name : names)
    {
        char firstLetter = name.charAt(0);
        letterCount.put(firstLetter, letterCount.getOrDefault(firstLetter, 0) + 1);
    }

    // Find the most frequent first letter
    char mostFrequentLetter = '\0'; // default value
    int maxCount = 0;
    for (Map.Entry<Character, Integer> entry : letterCount.entrySet())
    {
        if (entry.getValue() > maxCount)
        {
            mostFrequentLetter = entry.getKey();
            maxCount = entry.getValue();
        }
    }

    return mostFrequentLetter;
}
© www.soinside.com 2019 - 2024. All rights reserved.