/**
* **统计字符串中每个字符出现的次数**
* 思路:
* 用一个Map保存统计结果,key保存出现的字符,value保存该字符出现的次数
* 利用字符串的charAt方法可以遍历字符串中每一个字符
* 如果map中该字符不存在,则存入,并且对应的次数为1
* 如果map中该字符已经存在,则根据该字符作为key提取其value(出现的次数)并对value+1再
* 存回。
* 遍历有输出map即可得知每个字符出现的次数。
* 关键:put遇到相同的key时会返回原来的value的值,通过返回原来的value的值进行计数
* @param: null
* @return:
* @author LHQ
* @date: 2022/9/6 11:13
*/
public static void StatisticalString(String s){
String line = "Thinking in java!i love java!";
Map<Character, Integer> hashMap = new HashMap<>();
for (int i = 0; i < line.length(); i++) {
Integer value = hashMap.put(line.charAt(i), 1);
if (value != null) { //关键:put遇到相同的key时会返回原来的value的值
hashMap.put(line.charAt(i), value + 1); //关键:通过返回原来的value的值进行计数
}
}
Set<Map.Entry<Character, Integer>> entries = hashMap.entrySet();
for (Map.Entry<Character, Integer> e : entries) {
System.out.println(e.getKey() + "次数: " + e.getValue());
}
}