728x90
Comparator와 Comparable은 컬렉션 클래스를 정렬하는데 필요한 메서드들을 담고 있는 인터페이스이다. 둘의 차이점을 다음을 통해 살펴보자.
인터페이스 | 핵심 추상 메서드 | 용도 | 구현한 클래스 |
Comparable | int compareTo(Object o); | 기본 정렬 기준 구현 (오름차순, 내림 차순) |
래퍼, String, Date, File 클래스 |
Comparator | int compare(Object o1, Object o2); | 그 외 정렬 기준 구현 | - |
정렬은 (1) 두 대상을 비교, (2) 자리 바꿈의 반복이다. 이 과정은 불변이지만 기준을 제공함으로써 변화를 주는 것이다.
[참고] Comparable을 구현한 클래스들도 직접 Comparator를 구현해 다른 기준을 제공해줄 수 있다.
[예제 1]
[예제 2]
반응형
'자바 (Java) > 요약' 카테고리의 다른 글
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 2. 지네릭스의 타입 (0) | 2023.11.10 |
---|---|
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 1. 지네릭스 (0) | 2023.11.10 |
Chpt 11. 컬렉션 프레임워크 - 주제 5. Map 인터페이스와 구현 클래스들 (0) | 2023.11.08 |
Chpt 11. 컬렉션 프레임워크 - 주제 4. Set 인터페이스와 구현 클래스들 (1) | 2023.11.08 |
Chpt 11. 컬렉션 프레임워크 - 주제 2. 저장된 요소를 접근하는 Iterator 인터페이스 (0) | 2023.11.08 |