我正在尝试使用嵌套 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;
}
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;
}