Comparator
JavaのComparatorについて、以下の記事で勉強させていただいています。
qiita.com
そのメモをします。
自然順/逆順ソート
import static java.util.Comparator.*; List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5); integerList.sort(naturalOrder()); //自然順ソート integerList.sort(reverseOrder()); //逆順ソート
① Listインターフェースのsortメソッド
default void sort(Comparator c)
では、「指定されたComparatorが示す順序に従って、このリストをソートします。」
ということです。List (Java Platform SE 8)
② ComparatorインターフェースのnaturalOrderメソッド
static
では、「自然な順序でComparableオブジェクトを比較するコンパレータを返します。」
ということです。Comparator (Java Platform SE 8)
Comparatorは比較関数のことだということなので、比較する式として内部で解釈されているのかと思いますが、まだちょっとsortの引数としてはおまじない感があります。
CASE_INSENSITIVE_ORDER
List<String> stringList = Arrays.asList("ABC", "DEFGH", "IJKL", "abc", "defgh", "ijkl"); stringList.sort(String.CASE_INSENSITIVE_ORDER);
Stringクラスには、
public static final Comparator
というフィールドがあります。
「compareToIgnoreCaseと同様にStringオブジェクトを順序付けるComparator」
ということです。String (Java Platform SE 8)