我有一個枚舉類型爲鍵和雙值作爲值的地圖。我想根據Double值對它進行排序。所以我得到了輸入集,並且想用Collections.sort()
和一個比較器。我有以下的代碼比較比較Map.Entry <K,V>
class ScoreComparator<Map.Entry<K, V>> implements Comparator<Map.Entry<K, V>> {
public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2) {
return o1.getValue().compareTo(o2.getValue());
}
}
我收到以下錯誤消息
Syntax error on token ".", extends expected (line 1)
。The type parameter Map is hiding the type Map<K,V> (line 1)
。- 由於上述兩個錯誤,K和V不能解析爲一個類型(第3,4行)。
我無法解決此問題。任何幫助,高度讚賞。提前致謝。
@CostiCiudatu,沒有不工作。我得到一個「類型ScoreComparator必須實現繼承的抽象方法Comparator> .compare(Map.Entry ,Map.Entry )」錯誤。我實現了上面代碼中所示的方法。 –
Raghava
你是對的,我編輯了我的答案,以解決這個問題,並保持比較器的通用性。 –