Java

[Java] Comparable vs Comparator

Dev.J 2021. 7. 15. 16:41

▶︎ Comparable, Comparator 모두 인터페이스이기에 사용하고자 한다면 인터페이스 내에 선언된 메서드를 구현해야한다.

▶︎ 객체를 비교하기 위해 사용하며 사용자가 정의한 기준에 따라 양수, 0, 음수가 반환된다.

 

▶︎ Comparable [docs]

    -  package : java.lang

    - comparable을 사용하고자 한다면 compareTo(T o) 메서드를 재정의(overriding/구현) 해야함.

    - 자기 자신(this)과 매개변수 객체를 비교 / 기본 정렬 사용시 사용, 결과값은 오름차순으로 정렬되며 내림차순으로 정렬하고자 할 때는 리턴되는 값에 * (-1) 을 해준다.

 

▶︎ Comparator [docs]

    - package : java.util 

    - comparator을 사용하고자 한다면 실질적으로 compare(T o1, T o2) 메서드를 재정의(overriding/구현) 해야함.

    - 파라미터로 들어오는 두 객체를 비교 / 정렬 규칙을 커스텀 하고자 할 때 사용, 결과값은 오름차순으로 정렬되며 내림차순으로 정렬하고자 할 때는 리턴되는 값에 *(-1) 을 해주거나 o2, o1순서를 변경해주면 된다.