Java

[Java] 자바의 비교 Comparable과 Comparator은 ?

Razelo 2020. 12. 14. 20:24

gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html

 

[Java] Comparable와 Comparator의 차이와 사용법 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

이 둘의 차이점이 잘소개되어 있다. 읽어보면 좋을듯. 

 

jeong-pro.tistory.com/173

 

자바 Comparable, Comparator 하면 '정렬'을 떠올려라, 자바 객체 정렬의 '기준'을 정하는 방법! (비교랑

Java Comparable, Comparator Comparable, Comparator 가 무엇인지 알아보기 전에 확실히 해야할 것이 있다. Comparable, Comparator하면 '정렬'을 떠올려야하는 것이다. Compare 하면 "비교"고 Comparable하면 "..

jeong-pro.tistory.com

 

바로 위의 블로그에 잘정리되어 있어서 인용했다. 

 

"

우선 자바에서 객체를 정렬할 때 일정한 기준이 필요하다.

Comparable : 객체 간의 일반적인 정렬이 필요할 때, Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다.

Comparator : 객체 간의 특정한 정렬이 필요할 때, Comparator 인터페이스를 확장해서 특정 기준을 정의하는 compare() 메서드를 구현한다.

공통점은 정렬의 기준을 정의한다는 것이고,

차이점은 정렬 기준이 일반적이냐 일반적이지 않냐와 compareTo(Object o) 메서드를 구현하느냐 compare(Object o1, Object o2) 메서드를 구현하느냐가 전부다.

"

출처: https://jeong-pro.tistory.com/173 [기본기를 쌓는 정아마추어 코딩블로그]

 

한마디로 요약된다... 

 

 

정리하자면... comparable은 일반적인 상황에서 비교하고 싶을때, 혹은 정렬하고 싶을 때 사용하는 것이고,

comparator은 특별한 상황? 아니 내가 새로 정의하고 싶은 기준이 있을때 그때그때마다 정의해서 사용하는거다. 그래서 익명함수로 자주 사용한다고 보면 된다.... 밑에 있는 블로그가 더 자세히 나와있다, !  참고로 comparator은 비교가 아니란다... 

반응형