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순서를 변경해주면 된다.