如何计算字符串中字符的频率?

我需要编写某种循环,可以计算字符串中每个字母的频率。

例如:“ aasjjikkk”将计为2’a’,1’s’,2’j’,1’i’,3’k’。最终,像这样的id最终以字符为键,而count为值的形式出现在地图中。有什么好主意怎么做?

回答:

你可以使用Java Map并将a映射charint。然后,你可以遍历字符串中的字符,并检查是否已将它们添加到地图中(如果有),然后可以增加其值。

例如:

HashMap<Character, Integer> map = new HashMap<Character, Integer>();

String s = "aasjjikkk";

for (int i = 0; i < s.length(); i++) {

char c = s.charAt(i);

Integer val = map.get(c);

if (val != null) {

map.put(c, new Integer(val + 1));

}

else {

map.put(c, 1);

}

}

最后,你将对遇到的所有字符进行计数,然后可以从中提取它们的频率。

另外,你可以使用Bozho的解决方案:使用多重集并计算总发生次数。

以上是 如何计算字符串中字符的频率? 的全部内容, 来源链接: utcz.com/qa/402679.html

回到顶部