Class 클래스명 implements Comparable < > {}
Class 클래스명 implements Comparator nu8jmik9< > {}
자기 자신과 매개변수를 비교
compareTo()
추상메서드 포함
👉 인터페이스를 구현하는 클래스에서 메서드 구현
새로 추가되는 값 - 기존 비교값 :
0보다 작음 : -1 리턴 (내림차순)
0과 같음 : 0 리턴
0보다 큼 : 1리턴 (오름차순)
두 매개변수를 비교
compare()
추상메서드 포함
첫 번째 매개변수가 더 크면 양수 반환 (오름차순 정렬)
🔎 TreeSet 생성자에 Comparator를 구현한 객체를 매개변수로 전달
TreeSet<Member> treeSet = new TreeSet<Member>(new Member());
Comparable 인터페이스를 더 많이 사용
다른 클래스가 이미 Comparable을 구현한 경우,
이 클래스의 정렬 방식을 정의할 때 Comparator 사용
Comparable : 기본 정렬 기준을 구현하는데 사용
Comparator : 기본 정렬 기준 외에 다른 기준으로 정렬