如何在Java中获取所有出现在字符串中的字符以及出现次数的列表?假设我们有一个字符串“我现在真的很忙”,所以我应该得到:

i-2,a-2,r-2,m-1等。

最佳答案

只需绘制每个角色及其数量的映射即可。您可以使用 String 获得String#toCharArray()的字符数组,并使用enhanced for loop遍历该字符数组。在每次迭代中,从映射中获取计数,如果不存在则进行设置,然后将其递增1并放回映射中。非常简单。
这是一个基本的启动示例:

String string = "I am really busy right now";
Map<Character, Integer> characterCounts = new HashMap<Character, Integer>();
for (char character : string.toCharArray()) {
    Integer characterCount = characterCounts.get(character);
    if (characterCount == null) {
        characterCount = 0;
    }
    characterCounts.put(character, characterCount + 1);
}
要了解有关地图的更多信息,请检查Sun tutorial on the subject

您评论说这是“针对项目”的问题,但这是一个典型的作业问题,因为它很基础,并且在一本不错的Java书籍/教程的第一章中进行了介绍。如果您是Java的新手,我建议您开始阅读Sun Trails Covering the Basics

10-05 21:11
查看更多