- Array.Sort() 는 Comparable 구현에 의해 정렬을 수행함
- Comparator, Comparable은 인터페이스
- Comparable를 구현하고 있는 클래스들은 서로 같은 타입의 인스턴스끼리 서로 비교할 수 있는 (wrapper클래스, String, Date, File)과 같은 것들을 기본적으로 오름차순으로 정렬하도록 구현됨
-> Comparable을 구현한 클래스는 정렬이 가능
Comparable
public interface Comparable {
public int compareTo(Object o);
}
- compareTo()는 비교하는 두 객체가 같으면 0, 작으면 음수, 크면 양수를 반환
- 기본 정렬기준을 구현하는데 사용
Comparator
public interface Comparator {
int compare(Object o1, Object o2);
boolean equal(Object obj);
}
- 두 객체 o1, o2를 비교함
- compare()메서드는 두 객체를 비교해서 음수, 0, 양수 중의 하나를 반환하도록 구현해야 함
- 개발자가 임의로 정렬 기준을 만들기 위해서 Comparator의 compare()메서드를 오버라이딩하여 구현하면 됨
(기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 사용)
- 관련 문제 링크
'JAVA > java' 카테고리의 다른 글
Enum (Enumeration, 열거형) (0) | 2021.03.04 |
---|---|
형변환 (0) | 2021.02.28 |
mutable과 immutable (0) | 2021.02.25 |
Java 날짜 유효성(포멧) 체크 (1) | 2020.07.14 |
toString() (0) | 2020.04.20 |