Java中统计字符串中字符出现次数的方法,可以使用HashMap(以字符为key,以出现次数为value)来实现。
具体步骤如下:
1.创建一个HashMap对象
Map<Character, Integer> charFrequency = new HashMap<Character, Integer>();
这里使用了Java中的泛型,确保了key是一个字符,而value是一个整数。
2.遍历字符串中的所有字符,更新HashMap对象
for (char c : str.toCharArray()) {
if (charFrequency.containsKey(c)) {
charFrequency.put(c, charFrequency.get(c) + 1);
} else {
charFrequency.put(c, 1);
}
}
这里先将字符串转化为字符数组,然后遍历数组中的每个字符。如果HashMap中已经存在该字符,则将其出现次数加1;否则,将该字符添加到HashMap中,并将其出现次数设置为1。
3.输出HashMap对象
for (Map.Entry<Character, Integer> entry : charFrequency.entrySet()) {
System.out.println("字符" + entry.getKey() + "出现了" + entry.getValue() + "次。");
}
这里使用了HashMap的entrySet()方法,将HashMap对象中的所有键值对以键值对的形式输出。
示例1:
String str = "aabbbcccddeeefffg";
Map<Character, Integer> charFrequency = new HashMap<Character, Integer>();
for (char c : str.toCharArray()) {
if (charFrequency.containsKey(c)) {
charFrequency.put(c, charFrequency.get(c) + 1);
} else {
charFrequency.put(c, 1);
}
}
for (Map.Entry<Character, Integer> entry : charFrequency.entrySet()) {
System.out.println("字符" + entry.getKey() + "出现了" + entry.getValue() + "次。");
}
结果输出:
字符a出现了2次。
字符b出现了3次。
字符c出现了3次。
字符d出现了2次。
字符e出现了3次。
字符f出现了3次。
字符g出现了1次。
示例2:
可以将上述代码封装成一个函数,便于其他代码重复使用:
public static void countCharFrequency(String str) {
Map<Character, Integer> charFrequency = new HashMap<Character, Integer>();
for (char c : str.toCharArray()) {
if (charFrequency.containsKey(c)) {
charFrequency.put(c, charFrequency.get(c) + 1);
} else {
charFrequency.put(c, 1);
}
}
for (Map.Entry<Character, Integer> entry : charFrequency.entrySet()) {
System.out.println("字符" + entry.getKey() + "出现了" + entry.getValue() + "次。");
}
}
这样,在其他代码中可以通过调用countCharFrequency()函数来统计字符串中各个字符的出现次数。
String str = "abcdefg";
countCharFrequency(str);
结果输出:
字符a出现了1次。
字符b出现了1次。
字符c出现了1次。
字符d出现了1次。
字符e出现了1次。
字符f出现了1次。
字符g出现了1次。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java统计字符串中字符出现次数的方法示例 - Python技术站