Comparator

데이터구조에 순서를 제어하거나 제공하는데 사용하는 비교 연산자다.

예제

    list.sort(String::compareToIgnoreCase);
    list.forEach(System.out::println); // 정렬된 리스트가 출력된다.

기본 메소드

Comparator<T> reversed()
정렬을 반전시키는데 사용한다.

예제

    Comparator<String> compareToIgnoreCase = String::compareToIgnoreCase;
    list.sort(compareToIgnoreCase.reversed()) 

Comparator<T> thenComparing(Function keyExtractor)
객체 상태별 정렬시 유용하다.

thenComparing 사용 예제는 이곳 에서 확인할 수 있다.

static 메소드

reverseOrder(), naturalOrder(), nullsFirst(), nullsLast() 등 static 메소드들을 사용하기 위해서는 Comparable을 구현이 필요할 수 있다.

static 메소드 사용 예제는 이곳 에서 확인할 수 있다.