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 |