개발 무지렁이

[코테 알고리즘] 객체비교에 사용되는 인터페이스 Comparable 본문

코딩 테스트

[코테 알고리즘] 객체비교에 사용되는 인터페이스 Comparable

Gaejirang-e 2022. 12. 14. 14:36

인터페이스인 Comparable


Comparable에는 compareTo(T o) 메서드가 선언되어 있다.
이 메서드는 '자기자신'과 '매개변수 객체'를 비교한다.

❓ 인터페이스
: 추상성 100%인 클래스를 말한다.
(단, 인터페이스 내에 선언된 메서드를 반드시 구현해야한다.)

compareTo는 int를 반환한다


- '양수'를 반환: 자기자신이 매개변수 객체보다 크다
- '0'을 반환: 자기자신이 매개변수 객체와 같다
- '음수'를 반환: 자기자신이 매개변수 객체보다 작다

Comparable 활용 예제


🎯 우선순위 큐에서 Node클래스의 compareTo을 기준으로 삼아 자동정렬한다.
PriorityQueue<Node> pq = new PriorityQueue<>();
class Node implements Comparable<Node> {
    int targetNode;
    int value;
    Node(int targetNode, int value) {
        this.targetNode = targetNode;
        this.value = value;
    }
    @Override
    public int compareTo(Node o) {
        return value - o.value;
    }
}
Comments