본문 바로가기

자바 (Java)/요약

Chpt 11. 컬렉션 프레임워크 - 주제 7. Comparator vs. Comparable

728x90

Comparator와 Comparable은 컬렉션 클래스를 정렬하는데 필요한 메서드들을 담고 있는 인터페이스이다. 둘의 차이점을 다음을 통해 살펴보자.

 

인터페이스 핵심 추상 메서드 용도 구현한 클래스
Comparable int compareTo(Object o); 기본 정렬 기준 구현
(오름차순, 내림 차순)
래퍼, String, Date, File 클래스
Comparator int compare(Object o1, Object o2); 그 외 정렬 기준 구현 -

 

정렬은 (1) 두 대상을 비교, (2) 자리 바꿈의 반복이다. 이 과정은 불변이지만 기준을 제공함으로써 변화를 주는 것이다.

 

[참고] Comparable을 구현한 클래스들도 직접 Comparator를 구현해 다른 기준을 제공해줄 수 있다.

 

[예제 1]

 

[예제 2]

반응형