Ich habe eine Methode, die eine Comparator
für einen seiner Parameter benötigt. Ich würde gerne eine Comparator
übergeben, die eine normalen Vergleich und eine umgekehrte Komparator, die umgekehrt macht.Direkte Komparator in Java out of the box
java.util.Collections
bietet einedas ist gut für den umgekehrten Vergleich, aber ich konnte keine normale Comparator
finden. Die einzige Lösung, die mir in den Sinn kam, ist Collections.reverseOrder(Collections.reverseOrder())
. aber ich mag es nicht, weil die doppelte Methode nach innen ruft.
Natürlich könnte ich eine NormalComparator
so schreiben:
public class NormalComparator<T extends Comparable> implements Comparator<T> {
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
Aber ich bin wirklich überrascht, dass Java nicht eine Lösung für diese aus dem Kasten hat.
Es ist meine Methode, so dass es keine natürliche Reihenfolge hat. (eigentlich hat es, weil ich es geschrieben habe, um zu arbeiten, aber ich wollte nicht, ich suche eine bessere Lösung) –
Und ja, ich schrieb es, weil ich die Quelle von 'HashTree' sah. –
@KARASZI: welche 'HashTree' redest du? Es gibt keine solche Klasse in Java SE. Meinst du' TreeMap'? –