3
지도 :자바 제네릭 : 정렬 나는이 오류가 일반적인지도를 정렬 다음과 같은 기능을 컴파일하려고 값
"The method compareTo(V) is undefined for the type V"
이 작품을 만들기 위해 도와주세요! V
가 Comparable
을 구현
public class CollectionsPlus<K,V> {
/**
* Sort map by value
* @param map
* @return
*/
public static<K,V> Map<K, V> sortMapByValue(Map<K, V> map) {
List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(
map.entrySet());
Collections.sort(list,
new Comparator<Map.Entry<K, V>>() {
public int compare(Map.Entry<K, V> o1,
Map.Entry<K, V> o2) {
return (o2.getValue().compareTo(o1.getValue()));
}
});
Map<K, V> result = new LinkedHashMap<K, V>();
for (Iterator<Map.Entry<K, V>> it = list.iterator(); it.hasNext();) {
Map.Entry<K, V> entry = it.next();
result.put(entry.getKey(), entry.getValue());
}
return result;
}
}
매력처럼 작동합니다. 감사합니다. @assylias! –
최상의 결과를 얻으려면'V extends Comparable super V>' – newacct
을 사용하십시오. 자바가 괜찮은 타입의 시스템을 가질 때? 내 평생은 아니지만 나는 두려워합니다. –