Mt.Hwang 2025. 4. 10. 15:45

 * 자바 Comparable

객체 비교의 기준을 직접 만들기 위한 인터페이스
따라서 객체를 생성할 때 Comparable 인터페이스를 상속해야 된다
implements Comparable<T>

Comparable 인터페이스와 Collections.sort()를 통해서 O(n^2)의 정렬을 피할 수 있다

java.lang.Comparable
java.lang가 기본 import 패키지이므로 추가 import 없이 그냥 사용 가능

..~~~~..

 * compareTo()

비교 기준은 compareTo()를 이용해 나타남
-> compareTo() 오버라이딩 필수
Collections.sort()가 참조하는 메서드가 compareTo()

@Override
public int compareTo(T other) {}

{} 안에 this와 other을 비교하는 기준 작성

리턴 값이
 1. 양수 : this가 other보다 큼
 2. 0 : this와 other이 같음
 3. 음수 : this가 other보다 작음

보통 오름차순 정렬은 return this.x - other.x를 사용하고
내림차순 정렬은 return other.x - this.x를 사용한다

..~~~~..