본문 바로가기

Application-level프로그래밍

(JAVA) Copmparable Comparator

참고: http://devpinoy.org/blogs/lamia/archive/2007/04/16/java-util-comparable-vs-java-util-comparator.aspx

1. Comparable 인터페이스
정렬하고자 하는 클래스로 하여금 Comparable<E> interaface를 구현하여 정렬함.
E는 정렬하고자하는 객체의 클래스.
compareTo 함수를 정의함. compareTo(b) 는 음수일 때 b보다 작음을 의미 (양수는 반대) 같으면 0을 반환
일단 구현을 했다면 Collection 계열의 자료구조(클래스 E의 객체를 포함, ex. ArrayList)
의 객체를 인자로 Collections.sort()를 호출하면 됨.

2. Comparator 인터페이스
Comparator<E>인터페이스를 구현한 클래스를 정의한다. 이때에는 compare(a,b) 메소드를  정의함.  a<b의 경우 음수를 반환. 반대경우에는 양수..
Collections.sort()에 compartor 객체를 추가로 전달해서 호출하면 된다.