Zum Sortieren der Sammlung in umgekehrter Reihenfolge ist nur eine Operation erforderlich.
Zeichenfolge implementiert Vergleichbare Schnittstelle. Die javadoc für java.lang.Comparable # compareTo() sagt, dass es zurückgibt:
eine negative ganze Zahl, Null oder eine positive ganze Zahl, wie dieses Objekt kleiner als, gleich oder größer als der gebenes Objekt
Um Reihenfolge der Sammlung umkehren können Sie:
[empfohlen] u se Comparator.reverseOrder (javadoc), die
einen Komparator zurück, der die umgekehrte Reihenfolge der angegebenen Komparator auferlegt. (...)
List<String> strings = Arrays.asList("a","b","d", "c", "e");
reversedOrderedStrings = strings.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.joining(","));
Invert Reihenfolge der im Vergleich Parameter
reversedOrderedStrings = strings.stream()
.sorted((s1, s2) -> s2.compareTo(s1))
.collect(Collectors.joining(","));
[nicht empfohlen] das Zeichen der Methode compareTo() ändern. Dies ist nicht empfehlenswert, da es numerischen Überlauf für Integer.MIN_VALUE
reversedOrderedStrings = strings.stream()
.sorted((s1, s2) -> -s1.compareTo(s2))
.collect(Collectors.joining(","));
Ausgang verursachen können für alle gleich ist:
System.out.println(reversedOrderedStrings);
e,d,c,b,a
Das ist, was ich erwartet hatte! Thx, TDRS –
Ich glaube, du meintest 'Comparator.reverseOrder()' anstelle von 'Collection' – 4castle