ArrayList があり、それを降順で並べ替えたいと考えています。そのためにメソッドを使用しますjava.util.stream.Stream.sorted(Comparator)
。Java API による説明は次のとおりです。
指定された に従ってソートされた、このストリームの要素で構成されるストリームを返します
Comparator
。
このメソッドは昇順の並べ替えを返します。降順だけにするにはどのパラメータを変更する必要がありますか?
ベストアンサー1
使用できますComparator.reverseOrder()
自然な順序の逆を返す比較器を持つこと。
既存のコンパレータの順序を逆にしたい場合は、Comparator.reversed()
。
サンプルコード:
Stream.of(1, 4, 2, 5)
.sorted(Comparator.reverseOrder());
// stream is now [5, 4, 2, 1]
Stream.of("foo", "test", "a")
.sorted(Comparator.comparingInt(String::length).reversed());
// stream is now [test, foo, a], sorted by descending length