/*
- 案例:统计一个字符串中字符出现的次数
- 1.定义一个需要被统计字符次数的字符串
- 2.将字符串转化成字符数组
- 3.定义双列集合,存储字符串中字符及其出现的次数
- 4.遍历字符数组中每一个字符,并将字符存储在双列集合中
- 5.存储过程中要做判断,如果集合中不包含这个键则value为1,如果包含则value+1
- 6.打印双列集合获取字符出现的次数
*/
import java.util.HashMap;
public class Test1 {
public static void main(String[] args) {
//1.定义一个需要被统计字符次数的字符串
String s = "aaaabbbsssssccccccc";
//2.将字符串转化成字符数组
char[] cs = s.toCharArray();
//3.定义双列集合,存储字符串中字符及其出现的次数
HashMap<Character, Integer> hm = new HashMap<>();
//4.遍历字符数组中每一个字符,并将字符存储在双列集合中
for (char c : cs) {
//5.存储过程中要做判断,如果集合中不包含这个键则value为1,如果包含则value+1
/*if(!hm.containsKey(c)){
hm.put(c, 1);
}else {
hm.put(c, hm.get(c) + 1);
}*/
hm.put(c , hm.containsKey(c) ? hm.get(c) + 1 : 1);
}
//6.打印双列集合获取字符出现的次数
for (Character key: hm.keySet()) { //hm.keySet代表所有键的集合
System.out.println(key+":"+hm.get(key)); //hm.get(key)代表根据键获取值
}
}
}