gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html
이 둘의 차이점이 잘소개되어 있다. 읽어보면 좋을듯.
바로 위의 블로그에 잘정리되어 있어서 인용했다.
"
우선 자바에서 객체를 정렬할 때 일정한 기준이 필요하다.
Comparable : 객체 간의 일반적인 정렬이 필요할 때, Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다.
Comparator : 객체 간의 특정한 정렬이 필요할 때, Comparator 인터페이스를 확장해서 특정 기준을 정의하는 compare() 메서드를 구현한다.
공통점은 정렬의 기준을 정의한다는 것이고,
차이점은 정렬 기준이 일반적이냐 일반적이지 않냐와 compareTo(Object o) 메서드를 구현하느냐 compare(Object o1, Object o2) 메서드를 구현하느냐가 전부다.
"
출처: https://jeong-pro.tistory.com/173 [기본기를 쌓는 정아마추어 코딩블로그]
한마디로 요약된다...
정리하자면... comparable은 일반적인 상황에서 비교하고 싶을때, 혹은 정렬하고 싶을 때 사용하는 것이고,
comparator은 특별한 상황? 아니 내가 새로 정의하고 싶은 기준이 있을때 그때그때마다 정의해서 사용하는거다. 그래서 익명함수로 자주 사용한다고 보면 된다.... 밑에 있는 블로그가 더 자세히 나와있다, ! 참고로 comparator은 비교가 아니란다...
'Java' 카테고리의 다른 글
[Java] JVM의 메모리구조(가비지 컬렉션)/ 자바 메모리 구조 (0) | 2020.12.17 |
---|---|
[Java] 세련된 방식으로 Iterator<E> 사용 (0) | 2020.12.15 |
[Java] JVM구조-이미지 (0) | 2020.12.12 |
[Java] out of memory error 즉 OOME 에 대하여 (0) | 2020.12.12 |
[Java] java 키워드 중 새로 배운것. assert, native, strictfp, volatile (3) | 2020.12.12 |