Programming/JAVA

Comparator - compare / compareTo

dev? 2022. 5. 8. 10:58
반응형

Comparator

- 객체를 정렬하는데 필요한 메소드를 정의한 인터페이스이다. 

( 인터페이스 이므로 인터페이스 내에 선언된 메소드를 무조건 구현해야 한다. → compare)

- 파라미터로 들어온 두 객체를 비교한다. 

Comparator<T> c = new Comparator<T>() {
    @Override
    public int compare(T o1, T o2) {
        return 0;
    }
};

 

> compare()

: Comparator 인터페이스를 구현시 필수로 작성해야 하는 메소드이다. 

- 2개의 파라미터를 비교하여, 결과를 int형으로 반환한다. 

Comparator<T> c = new Comparator<T>() {
    @Override
    
    public int compare(T o1, T o2) {
    	if( o1 > o2){
        	return 1; 
        } else if ( o1 < o2){
        	return -1;
        }else {
		return 0;        
        }   
    }
    
};

 

> compareTo()

- 2개의 값을 비교하여 int형으로 반환한다. 

- 문자열 비교 / 숫자의 비교 방식이 있다. 

 

기준대상.compareTo(비교대상)

//기준대상.compareTo(비교대상)
int obj0 = 0;
int obj1 = 1;
int obj11 = 1;
int obj2 = 2;

obj1.compareTo(obj11); // 1 == 1 => 결과:0
obj1.compareTo(obj1); //  2 > 1  => 결과:1 
obj0.compareTo(obj1); //  0 < 1  => 결과:-1

 

 

 

 

2022.05.08 - [Programming/JAVA] - compareTo

 

compareTo

compareTo() - 2개의 값을비교하여 int형으로 결과를 반환해주는 함수이다. - 문자열의 비교 / 숫자의 비교 방식이 존재한다. 기준값.compareTo(비교값) 1. 숫자형 비교 기준값 = 비교대상 0 기준값 < 비교

lifeonguide.tistory.com

https://lookingfor.tistory.com/entry/%EC%9E%90%EB%B0%94-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B9%84%EA%B5%90-%ED%95%A8%EC%88%98-compare-compareTo

 

자바 문자열 비교 함수 compare(), compareTo()

compareTo() : 문자열의 사전순 값을 비교하여 그에 해당되는 int 값을 리턴한다. 예로 A > B 라고 가정하면, - A = A = 0 (동일한 경우) - A > B = 1 (좌측 값이 큰 경우) - B > A = -1 (좌측 값이 작은 경우) 예..

lookingfor.tistory.com

https://st-lab.tistory.com/243

 

자바 [JAVA] - Comparable 과 Comparator의 이해

아마 이 글을 찾아 오신 분들 대개는 Comparable과 Comparator의 차이가 무엇인지 모르거나 궁금해서 찾아오셨을 것이다. 사실 알고보면 두 개는 그렇게 어렵지 않으나 아무래도 자바를 학습하면서 객

st-lab.tistory.com

 

반응형