Java : 비교 대상 대 비교 대상
가능한 중복 항목:
비교()와 비교()의 차이
Java: Compareable과 Compater를 구현하는 것과 무엇이 다른가?
비교가능성과 비교가능성의 주요 차이점은 무엇인가?
어떤 시나리오가 다른 시나리오보다 선호되는가?
고마워요.
업데이트됨 - 좋은 링크와 예!!
http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html
클래스가 Comparent를 구현하면compareTo
클래스의 방법은 해당 객체의 "자연적" 순서를 정의하는 것이다.그 방법은 계약상 의무적으로 (요구되지는 않았지만) 그 물체의 다른 방법들과 일치해야 한다. 예를 들면, 0은 항상 물체에 대해 반환되어야 한다..equals()
비교가 참이다.
비교기는 두 개체를 비교하는 방법에 대한 자체 정의로, 자연 순서와 일치하지 않을 수 있는 방식으로 개체를 비교하는 데 사용할 수 있다.
예를 들어, 문자열은 일반적으로 알파벳순으로 비교된다.그러므로 더"a".compareTo("b")
알파벳 비교를 할 수 있을 것이다.문자열을 길이로 비교하려면 사용자 정의 비교기를 작성하십시오.
요컨대 큰 차이가 없다.그들은 비슷한 수단이다.일반적으로 자연질서에 필적하는 구현(자연질서의 정의는 분명히 해석에 열려 있음)과 다른 분류나 비교 요구에 대한 비교기를 작성한다.
Comparator
사용자가 제어할 수 없는 유형에 대해 사용자 정의 비교 논리를 제공할 수 있는 방법을 제공하십시오.
Comparable
구현 중인 객체의 비교 방법을 지정할 수 있다.
클래스에 대한 제어 권한이 없거나 제어 권한이 있는 객체를 비교할 수 있는 여러 가지 방법을 제공하려는 경우 다음을 사용하십시오.Comparator
.
그렇지 않으면 사용할 수 있다.Comparable
.
참조URL: https://stackoverflow.com/questions/4108604/java-comparable-vs-comparator
'programing' 카테고리의 다른 글
Vue.js: 하위 요소에 CSS 클래스 사용 (0) | 2022.05.24 |
---|---|
이 방법 서명의 줄임표(...)는 무엇인가? (0) | 2022.05.23 |
자동 스크롤 기능 vue-수신 가능 사용 방법 (0) | 2022.05.23 |
Axios 요청 - 쿼리된 데이터 대신 Getter setter 메서드를 제공 (0) | 2022.05.23 |
Vue.js 계산된 속성을 강제로 다시 계산하시겠습니까? (0) | 2022.05.23 |