第8章 その他の Java 8 機能を理解する : 問題 7 : Comparator の reversed メソッド
問題
Comparator
インターフェースのreserved
メソッドを呼び出さないで
nullsFirst(naturalOrder()).reserved()
を表わせ。
解答
上の Comparator は
null が先頭に来る昇順の逆順
である。
■ Java の実際のコード
Comparator<String> comp = Comparator.nullsFirst(Comparator.naturalOrder()); comp = comp.reversed();
となる。
例えば
String[] array = { "abc", null, "xyz", null, "ab", "123" };
をこの Comparator でソートすると
{ "xyz", "abc", "ab", "123", null, null }
になる。
■ reserved
メソッドを呼び出さない版
Comparator<String> comp = Comparator.nullsLast(Comparator.reverseOrder());
まるでド・モルガンの法則を解いているようだ。