import java.util.TreeMap;
public class TreeMapDemo4 {
public static void main(String[] args) {
String zi = "cbxzbvavdvgdb";
// 将zi字符串转为字符数组
char[] ch = zi.toCharArray();
// 定义TreeMap集合Character做键,Integer做值
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
// 遍历数组,获取每一个字符
for (Character kch : ch) {
// 获取每个字符键所对应的值
Integer cd = tm.get(kch);
// 如果为空,表示集合中没有存入此字符,那么给其值为1,代表第一次put
if (cd == null) {
tm.put(kch, 1);
// 如果值不为空,表示集合中有此字符,那么将其的值+1重新put
} else {
tm.put(kch, ++cd);
}
}
// 浏览次数记录是否正确
System.out.println(tm);
// 如果确认打印结果无误,那么创建StringBuilder对象,并为其赋予相应的格式
StringBuilder sb = new StringBuilder();
// 增强for遍历集合
for (Character kch : ch) {
// 取出其各个字符对应的值
Integer s = tm.get(kch);
// 取出各个字符
Character b = kch;
// 格式加工
sb.append(b).append("(").append(s).append(")");
}
//打印最终StringBuilder
System.out.println(sb);
}
}
|
|