SKILL/JAVA

Comparator, ComparTo

Jedy_Kim 2021. 11. 3. 13:34
728x90

compareTo() 메서드 


현재 객체 < 파라미터로 넘어온 객체: 음수 리턴
현재 객체 == 파라미터로 넘어온 객체: 0 리턴
현재 객체 > 파라미터로 넘어온 객체: 양수 리턴
음수 또는 0이면 객체의 자리가 그대로 유지되며, 양수인 경우에는 두 객체의 자리가 바뀐다.

compare() 메서드 작성법


첫 번째 파라미터로 넘어온 객체 < 두 번째 파라미터로 넘어온 객체: 음수 리턴
첫 번째 파라미터로 넘어온 객체 == 두 번째 파라미터로 넘어온 객체: 0 리턴
첫 번째 파라미터로 넘어온 객체 > 두 번째 파라미터로 넘어온 객체: 양수 리턴
음수 또는 0이면 객체의 자리가 그대로 유지되며, 양수인 경우에는 두 객체의 자리가 변경된다.


즉, Integer.compare(x, y)(오름차순 정렬)와 동일한 개념이다.
return (x < y) ? -1 : ((x == y) ? 0 : 1);
내림차순 정렬의 경우 두 파라미터의 위치를 바꿔준다.
Integer.compare(y, x)(내림차순 정렬)

 

참조

https://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

 

반응형

'SKILL > JAVA' 카테고리의 다른 글

자바 : Fork/Join framework  (0) 2021.09.09
자바 : 스레드(2)  (0) 2021.09.08
자바 : 스레드(1)  (0) 2021.09.07
자바 : java 7 - 보완된 예외 처리  (0) 2021.09.03
자바 : Heap pollution 이란?  (0) 2021.09.02