자바 (Java)/요약
Chpt 11. 컬렉션 프레임워크 - 주제 7. Comparator vs. Comparable
학듄
2023. 11. 8. 20:07
728x90
Comparator와 Comparable은 컬렉션 클래스를 정렬하는데 필요한 메서드들을 담고 있는 인터페이스이다. 둘의 차이점을 다음을 통해 살펴보자.
인터페이스 | 핵심 추상 메서드 | 용도 | 구현한 클래스 |
Comparable | int compareTo(Object o); | 기본 정렬 기준 구현 (오름차순, 내림 차순) |
래퍼, String, Date, File 클래스 |
Comparator | int compare(Object o1, Object o2); | 그 외 정렬 기준 구현 | - |
정렬은 (1) 두 대상을 비교, (2) 자리 바꿈의 반복이다. 이 과정은 불변이지만 기준을 제공함으로써 변화를 주는 것이다.
[참고] Comparable을 구현한 클래스들도 직접 Comparator를 구현해 다른 기준을 제공해줄 수 있다.
[예제 1]
[예제 2]
반응형