逆の順序でコレクションを並べ替えるのに必要な操作は1つだけです。
String implements Comparable interface。 java.lang.Comparableと#のcompareTo(用javadoc)は、それが返すことを言う:
負の整数、ゼロ、または正の整数、このオブジェクト に等しい、より小さい、またはより大きいとして
[推奨] Uを:指定されたオブジェクト
をすることができますコレクションの順序を逆にするにはSE
が 指定されたコンパレータの逆順を義務付けるコンパレータを返しComparator.reverseOrder(javadoc)。比較パラメータ
reversedOrderedStrings = strings.stream()
.sorted((s1, s2) -> s2.compareTo(s1))
.collect(Collectors.joining(","));
の(...)
List<String> strings = Arrays.asList("a","b","d", "c", "e"); reversedOrderedStrings = strings.stream() .sorted(Comparator.reverseOrder()) .collect(Collectors.joining(","));
反転順序[推奨されていない]のcompareTo()メソッドの符号を変更。これは、すべてが同じであるため、それははInteger.MIN_VALUE
reversedOrderedStrings = strings.stream()
.sorted((s1, s2) -> -s1.compareTo(s2))
.collect(Collectors.joining(","));
出力のための数値オーバーフローを引き起こす可能性がありますようお勧めしません:私は期待していたものです
System.out.println(reversedOrderedStrings);
e,d,c,b,a
出典
2016-11-25 15:12:14
gr7
! Thx、TDRS –
'Collection'の代わりに' Comparator.reverseOrder() 'を意味すると思います。 – 4castle