package com.shujia.day15;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/*
"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
*/
public class TreeMapTest1 {
public static void main(String[] args) {
String s = "aababcabcdabcde";
//创建TreeMap集合
TreeMap<Character, Integer> map1 = new TreeMap<>();
//将字符串转成一个字符数组
char[] chars = s.toCharArray();
//遍历字符数组,得到每一个字符
for (char c : chars) {
//将字符作为键存储在Map集合中
//先判断集合中是否有该键,若没有,就赋值该字符为键,1为值存储【c, 1】
//若集合已经存在该键了,在原来键对应的值基础之上加1 【c,1】-> 【c,2】
if (!map1.containsKey(c)) {
map1.put(c, 1);
} else {
map1.put(c, map1.get(c) + 1);
}
}
//遍历集合,以指定的格式拼接输出
StringBuilder sb = new StringBuilder();
Set<Map.Entry<Character, Integer>> entries = map1.entrySet();
for (Map.Entry<Character, Integer> entry : entries) {
Character key = entry.getKey();
Integer value = entry.getValue();
sb.append(key).append("(").append(value).append(")");
}
String resStr = sb.toString();
System.out.println("结果为:" + resStr);
}
}