JAVA代码
public Map<Character, Integer> count(String str) {
// base case
if (str == null || str.length() == 0) return null;
// 字符串转为字符数组
char[] chars = str.toCharArray();
// map中 键为字符,值为字符出现的次数
HashMap<Character, Integer> map = new HashMap<>();
// 遍历字符数组,将各自字符加入到ma中
for (char c : chars) {
// 若map中含有该字符,则值对应加一
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
// 否则,若map不含该字符,map加入该字符并且值初始化为1
map.put(c, 1);
}
// // 或者简写
// map.put(c,map.containsKey(c) ? map.get(c)+1 :1 );
}
// 返回结果
return map;
}
结果
测试字符串abcaaaefdabbhg
的结果