用HashMap统计字符频次:以字符为key、次数为value,遍历字符串用getOrDefault(ch,0)+1更新;默认区分大小写和空白符,可转小写或跳过空格处理。

用 HashMap 统计字符串中每个字符的出现次数,核心是把字符作为 key,出现次数作为 value,遍历字符串时逐个更新计数。
创建 HashMap 并遍历字符串
声明 HashMap<character integer></character>,用 toCharArray() 或 charAt(i) 获取每个字符:
- 若字符首次出现,put(key, 1)
- 若已存在,获取原值 +1 后重新 put
使用 getOrDefault 简化计数逻辑
避免显式判空,推荐写法:
map.put(ch, map.getOrDefault(ch, 0) + 1);
注意区分大小写与空白字符
默认按 Unicode 码点区分,如 'A' 和 'a' 是不同字符,空格、换行符也会被统计:
立即学习“Java免费学习笔记(深入)”;
- 如需忽略大小写:先调用
toLowerCase() - 如需跳过空格:加条件
if (ch != ' ')
完整示例代码
统计 "hello world" 中各字符频次:
String s = "hello world";
Map<Character, Integer> freq = new HashMap<>();
for (char ch : s.toCharArray()) {
freq.put(ch, freq.getOrDefault(ch, 0) + 1);
}
System.out.println(freq); // { =1, r=1, d=1, e=1, h=1, l=3, o=2, w=1, !=1}


















