static <K,V extends Comparable<? super V>>
SortedSet<Map.Entry<K,V>> entriesSortedByValues(Map<K,V> map) {
SortedSet<Map.Entry<K,V>> sortedEntries = new TreeSet<Map.Entry<K,V>>(
new Comparator<Map.Entry<K,V>>() {
@Override public int compare(Map.Entry<K,V> e1, Map.Entry<K,V> e2) {
int res = e2.getValue().compareTo(e1.getValue());
return res != 0 ? res : 1;
}
}
);
sortedEntries.addAll(map.entrySet());
return sortedEntries;
}
哪个是变量,哪个是函数,,哪个是类型,这个函数有什么用??
看这一段,方法名entriesSortedByValues,形参Map<K,V> map,返回值 SortedSet<Map.Entry<K,V>>。其中形参和返回值使用了Java的泛型。
方法内部主要实现:
new TreeSet<Map.Entry<K,V>>(这个是Set的一个内部排序。
大致就是这样了,详细的话还是需要自己去看下Java泛型和set自定义排序部分的源码实现。
有帮助请采纳!