comparaTo方法将元素进行了排序。最后将排序后的元素添加到sortedEntries里
Comparable接口是一个内置的可以自定义排序方式的内置接口,比如Integer,char等包装类内部都实现了Comparable接口来自定义一个排序的方式,实现的方法是compareTo(value){
//在代码中,返回0,1,-1 3个参数 分别对应1交换位置-1不交换 0 比较的两个值相同。
}
static
//一个静态的 类型必须是键值对并且是实现了Comparable接口的类型
SortedSet
//排序集合传入一个Map的静态对象并且键值对是K/V类型的入口排序按照他的值
//前边一整段应该都是名字写的比较规范吧,知识有限只能了解这么多
//括号中是参数传入的是一个Map类型的参数 map
SortedSet
//实例一个对象 sortedEntries 他接收的是一个TreeSet类型的变量保存的是指定的类型
//也就是Map.Entry
new Comparator
//排序没有使用内置排序接口Comparable而是使用的Comparator他和Comparable的
//区别就是一个是排序方法写在实现了Comparable接口的内部
//一个是当元素需要调用sort时才使用
@Override public int compare(Map.Entry
//重写了Comparator内部的compara方法 返回一个int值
int res = e2.getValue().compareTo(e1.getValue());
//最后的实际排序还是使用的Comparable接口的comparaTo方法
//写的有点啰嗦 应该是可以直接用Comparable排序的又new 了一个
//Comparator,他是把两种排序方式组合使用了,Comparable定义了排序的方式
//Comparator执行排序的操作
return res != 0 ? res : 1;
//返回结果 如果res不等于0 为真就返回res的值,假返回1
}
}
);
sortedEntries.addAll(map.entrySet());
//代码截的不全 这应该是排序后将元素添加到整个队列中。
return sortedEntries;
//然后将整个队列返回
//个人理解有不对的地方谅解。
}