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

标签 java string text-parsing repeat

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

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

最佳答案

只需映射每个字符及其计数。您可以使用 String#toCharArray() 获取 String 的字符数组并使用 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);
}

要了解有关 map 的更多信息,请查看 Sun tutorial on the subject .


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

关于java - 从字符串中获取所有字符及其编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2940760/

相关文章:

php - PHP 中的简历/CV 解析

shell - 如何使用 sed 仅打印第一条非空白行

java - Android 解析主机名到 ip 地址转换

javascript - 如何使用 JSON 从 REST API 选择的对象中检索值?

python - pandas 在某些特定条件下从数据帧(分组)中删除重复项

string - 按前缀对字符串数组进行分组的高效算法

java - 为什么从 arraylist 打印时出现数组越界?

java - 如何将具有不同模式的星期名称解析为 DayOfWeek?

python - 我在将列表作为自动化函数的字符串执行时遇到问题

powershell 更新时解析日志文件