TreeMap默认按照键比较排序,如果键为自定义对象,可以实现comparable<T>接口,来自定义排序方式
public class TreeSetDemo1 {
//利用TreeMap的特性实现统计字符串中每个字符出现的个数
//TreeMap默认按照键比较排序,如果键为自定义对象,可以实现comparable<T>接口,来自定义排序方式
public static void main(String[] args) {
//定义一个字符串
String str = "sjfsljsjgafaaaauuutyureee";
TreeMap<Character,Integer> ts = new TreeMap<>();
//遍历字符串得到里面的每一个字符
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
//如果ts中的键有此字符,则将键对应的值加一,
// 重新添加,利用TreeSet键不重复的特性,进行覆盖
if(ts.containsKey(c)){
int count = ts.get(c);
count++;
ts.put(c,count);
//如果TreeSet中没有此键,则添加
}else{
ts.put(c,1);
}
}
//输出TreeMap中的键值对
System.out.println(ts);
}
}
运行结果:
![](https://img-blog.csdnimg.cn/direct/92597a6da16c4e7eab8c19c61dd65edb.png)