从字符串中获取所有字符及其编号

ter*_*ce6 4 java string text-parsing repeat

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

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

Bal*_*usC 6

只需映射每个字符及其计数即可。您可以获取Stringusing的字符数组,String#toCharArray()并使用增强的 for 循环遍历它。在每次迭代中,从映射中获取计数,如果不存在则将其设置,然后将其增加 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);
}
Run Code Online (Sandbox Code Playgroud)

要了解有关地图的更多信息,请查看有关该主题Sun 教程


您评论说它是“针对一个项目”,但它是一个典型的家庭作业问题,因为它非常基础,并且在一本体面的 Java 书籍/教程的第一章中都有介绍。如果您是 Java 新手,我建议您阅读Sun Trails Covering the Basics