Comparable<T> 인터페이스, compareTo (T obj)메소드 구현 기준, Comparator <T> 인터페이스

CODEDRAGON Development/Algorithm, DataStructure

반응형

 

Comparable<T> 인터페이스

·       TreeSet<E> 인스턴스에 저장이 되려면 Comparable<T> 인터페이스를 구현해야 합니다.

·       Comparable<T> 인터페이스는 정렬의 기준을 정하며 Comparable<T> 인터페이스의 유일한 메소드인 int compareTo(T obj); 추상 메소드에서 기준을 구현하게 됩니다.

 

 

compareTo (T obj)메소드 구현 기준

다음의 기준으로 구현을 해야 하며 '작다’, ‘크다’, ‘같다’의 기준은 프로그래머가 결정해야 합니다.

구분

기준

반환값

인자로 전달된 obj

작다면

양의 정수를 반환.

인자로 전달된 obj

크다면

음의 정수를 반환.

인자로 전달된 obj

같다면

0을 반환.

 

 

 

Comparator <T> 인터페이스

·       Comparator 인터페이스는 TreeSet에 사용자가 직접 비교법을 넣어줄 때 사용하는 인터페이스입니다.

·       TreeSet에 데이터를 집어 넣으면 기본적으로 오름차순(Ascending) 정렬이 되지만 문자열이나 기본 데이터 타입과 같은 단순한 것에만 해당됩니다.

·       HashSet 이나 HashMap을 사용하는 도중 정렬기능이 필요할 때 정렬 기능을 지원해주는 TreeSet이나 TreeMap으로 변환해서 사용하는 것이 가능합니다. TreeSet의 경우에는 Comparator 인터페이스를 이용해서 사용자가 직접 정렬을 구현할 수 있습니다.