Comparable
- 객체간의 일반적인 정렬이 필요할 때
- 기준 1가지를 가지고 그에 대한 정렬을 하고 싶을 때
- compareTo() 메서드를 구현한다.
- 비교대상 객체 내부에 생성하므로 compareTo 매개변수 하나
- Default, 오름차순 기준
- Integer, Double 클래스 : 오름차순 정렬 / String 클래스: 사전순
public interface Comparable<T>{
public int compareTo(T o);
}
Comparator
- 객체간의 특정한 정렬이 필요할 때
- Comparable과 다르게 사용자 정의조건, 즉 요구상항에서 주어진 특정 기준을 가지고 정렬
ex) 학점이 같다면 이름순으로 정렬
- compare() 메서드를 구현
- 비교대상 객체 외부에 생성하므로 compare 매개변수 둘
public interface Comparator<T>{
int compare(T o1, T o2);
}