본문 바로가기

Backend/Java

[Java] Comparator 이해하기

Comparator는 인터페이스이다.

Arrays.sort에서 compare(T o1, T o2)로 구현하여 사용할 수 있다.

 

객체를 비교할 때 사용하는 인터페이스로 리턴 값으로 오름차순/내림차순을 표현할 수 있다.

Arrays.sort(arr, new Comparator<String>() {
    @Override
    public int compare(String a1, String a2) {
    if(a1.length() == a2.length()) {
        return a1.compareTo(a2);
    }else {
        return a1.length() - a2.length();
    }

}
});

리턴 값이 크면 양수(내림차순), 같으면 0, 작으면 음수(오름차순)를 반환한다.

 

람다 함수 형식으로도 나타낼 수 있다.

Arrays.sort(arr, (a1, a2) -> {
    if(a1.length() == a2.length()) {
        return a1.compareTo(a2);
    }else {
        return a1.length() - a2.length();
    }

});

'Backend > Java' 카테고리의 다른 글

[Java] 버블 정렬  (0) 2024.02.05
[Java] BufferedReader, BufferedWriter  (0) 2024.02.02
[Java] 문제풀이 4장 1~6번  (0) 2024.01.05
[Java] 문제풀이 3장 실습 1~2번  (0) 2024.01.04
[Java] ArrayList 사용 정리  (0) 2023.11.08