Komparator für die Karte.Eintrag<K V>

Ich habe eine Karte mit einem enumeration-Typ als Schlüssel und Doppel als Wert. Ich möchte sozusagen das basierend auf der Double-Werte. Also ich habe den Eintrag gesetzt wird, und zu Collections.sort() mit einem Komparator. Ich habe den folgenden code für den Komparator

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());
    }   
}

Bin ich immer die folgenden Fehlermeldungen

  1. Syntax error on token ".", extends expected (line 1).
  2. The type parameter Map is hiding the type Map<K,V> (line 1).
  3. Weil die beiden oben genannten Fehler, K und V kann nicht aufgelöst werden zu einem Typ (Linien 3,4).

Ich bin nicht in der Lage diese zu lösen. Jede Hilfe wird sehr geschätzt. Vielen Dank im Voraus.

  • Nein, das funktioniert nicht. Ich bekomme ein "Der Typ ScoreComparator implementieren muss, um die geerbte abstrakte Methode Komparator<Karte.Eintrag<K V>>.vergleichen(Karte anzeigen.Eintrag<K V>, Karte.Eintrag<K V>)" - Fehler. Ich implementieren Sie die Methode wie im obigen code.
  • Du hast Recht, ich bearbeitet meine Antwort FALTENBALG zu fixieren und immer noch den Komparator, so allgemein wie Sie es beabsichtigt haben.
InformationsquelleAutor Raghava | 2013-06-20
Schreibe einen Kommentar