반응형

Comparable

    모든 객체의 공통 메서드 - 규칙 12 Comparable 구현을 고려하라.

    CompareTo 메서드는 Object에 선언되어 있지 않으며, Comparable 인터페이스에 포함된 유일한 메서드이다. Object의 equals 메서드와 비슷한 특성을 가지고 있으나, 동치성 검사를 넘어 순서 비교도 가능하다. Comparable 인터페이스를 구현한 객체들은 검색하거나, 정렬, 최대/최소 구하기 등이 간단하며 정렬도 다음과 같이 간단하게 진행 할 수 있다. Arrays.sort(a) 그렇기에 알파벳 순서나 값의 크기, 또는 시간적 선후 관계처럼 명확한 자연적 순서를 가지는 값을 가진 클래스를 구현할 때는 Comparable 인터페이스를 구현하는 것이 좋다. 1234Public interface Comparable { int compareTo(T t);} Colored by Color..

    Comparable vs Comparator

    Comparable vs Comparator - Comparable은 기본 정렬기준을 구현하는데 사용한다.- Comparator은 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용된다. - 오버라이딩 하지 않고 그냥 compare를 사용한다면 그게 Comparable이다. Class 클래스명 implements Comparator{public int compare(Object o1, Object o2){Comparable c1 = (Comparable) o1;Comparable c2 = (Comparable) o2;return c1.compareTo(c2) * -1 ; // -1을 곱하면 내림차순으로 정렬이 된다. }}

반응형