객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스 2가지
public interface Comparable {
int compareTo(Object o); //this(자신)과 o(주어진 객체)를 비교
}
public interface Comparator {
int compare(Object o1, Object o2); //o1, o2 두 객체를 비교
}
compare()과 compareTo()는 비교 결과를 반환하는데 같으면 0, 오른쪽이 크면 음수, 작으면 양수를 반환한다.
예시로 Arrays의 sort()를 사용할 때를 들 수 있다.
//a 객체 배열에 저장된 객체가 구현한 comparable에 의한 정렬
static void sort(Object[] a)
//지정한 Comparable c에 의한 정렬
static void sort(Object[] a, Comparator c)
참고
https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html