티스토리 뷰

Comparable과 Comparator 인터페이스는 객체들을 정렬하는데 필요한 메서드를 가지고 있습니다.

 

Comparable같은 경우는 Comparable을 구현한 클래스들이 모두 기본적으로 오름차순으로 정렬되어 있습니다.

Comparator의 경우에는 기본정렬 외에 내림차순이나 기타 다른 정렬방식을 쓰고자 할때 사용합니다.


 

Comparable과 Comparator인터페이스가 구현하고 있는 클래스들의 종류는 JAVA API문서를 보시면 상세하게 나와 있습니다.

 

 

 

- Comparable과 Comparator 인터페이스의 구조

public interface Comparable{

public int compareto(Object o);

}

 

public interface Comparator{

public int compare(Object o1, Object o2);

}

 

 

compare와 Comparable에 구현된 메소드의 리턴값은 int자료형 입니다. 하지만 각 인터페이스를 구현할 때 막무가내로 구현하는게 아니라 대상객체가 비교하는 값보다 작으면 음수로, 두 객체가 같으면 0, 대상 객체가 비교하는 값보다 크면 양수로 리턴하도록 하여야합니다.

 

 

다음은 간단한 예제입니다.

 

다음은 TreeSet(Comporator c)을 이용한 정렬입니다. 객체에 Comparator인터페이스를 구현하여 Airplane객체의 멤버변수 no값을 비교하여 오름차순이 되도록 코딩하였습니다.

 

 

Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday