我需要编写某种循环来计算字符串中每个字母的出现频率。
例如:“aasjjikkk”会算作 2 个“a”、1 个“s”、2 个“j”、1 个“i”、3 个“k”。最终像这样的 id 最终会出现在一个以角色为键、计数为值的地图中。任何好主意如何做到这一点?
原文由 Bill 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
您可以使用 java Map 并将
char
映射到int
。然后您可以遍历字符串中的字符并检查它们是否已添加到地图中,如果有,您可以增加其值。例如:
最后,您将对遇到的所有字符进行计数,并可以从中提取它们的频率。
或者,您可以使用 Bozho 的解决方案,即使用 Multiset 并计算总出现次数。