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 인터페이스를 이용해서 사용자가 직접 정렬을 구현할 수 있습니다.
'Development > Algorithm, DataStructure' 카테고리의 다른 글
Iterator<E> 인터페이스의 remove() 활용 (0) | 2017.10.17 |
---|---|
Iterator<E> 인터페이스에 정의된 메소드 (0) | 2017.10.17 |
TreeSet<E> 클래스, TreeSet 생성자 (0) | 2017.10.17 |
Hash알고리즘을 통한 데이터 구분 - 38의 저장유무를 확인하는 경우, HashSet<E> 클래스의 동등비교 - 동등 비교를 위한 두개 메소드 오버라이딩 (0) | 2017.10.17 |
해시 알고리즘(hash algorithm), 해시 알고리즘을 이용한 자료 구조 도식도 (0) | 2017.10.17 |