728x90
🏓 JAVA | 배열 Arrays.sort() 기준 재정의 : Comparator 익명 클래스 구현
🟧 1) 1차원 배열 sort 재정의
//1차원 배열 내림차순 sort - compareTo 사용
Integer[] nums6 = {9,8,1,3,2};
Arrays.sort(nums6, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) { //두 숫자 비교
return o1 - o2; //오름차순
//return o2 - o1; //내림차순
}
});
🟧 2) 2차원 배열 sort 재정의
int[][] arr = new int[][2]{{5,40},{3,50},{1,30},{4,20},{2,10}};
// 1. Comparator 익명 클래스 구현
Arrays.sort(arr, new Comparator<int[]>() {
//compare() 메소드 재정의
@Override
public int compare(int[] o1, int[] o2) {
return o1[0]-o2[0]; // 첫번째 숫자 기준 오름차순 {1,30}{2,10}{3,50}{4,20}{5,40}
//return o2[0]-o1[0]; // 첫번째 숫자 기준 내림차순 {5,40}{4,20}{3,50}{2,10}{1,30}
//return o1[1]-o2[1]; // 두번째 숫자 기준 오름차순 {2,10}{4,20}{1,30}{5,40}{3,50}
//return o2[1]-o1[1]; // 두번째 숫자 기준 내림차순 {3,50}{5,40}{1,30}{4,20}{2,10}
}
});
728x90
'코딩 테스트 [준비] > JAVA | 활용할 문법 정리' 카테고리의 다른 글
JAVA | 사용자 정의 객체 정렬 - String 타입의 사전 순 정렬 (0) | 2023.07.21 |
---|---|
JAVA | 사용자 정의 객체 정렬 | Comparable<객체> (0) | 2023.07.05 |
JAVA | 특수문자로 Split(), replaceAll() 사용 시 주의할 점 (0) | 2023.06.14 |
JAVA| 그래프 표현 방식 2가지 | ArrayList<Integer> 의 사용 (0) | 2023.06.09 |
JAVA | 내림차순 정렬 (역순 정렬) | Collections.reverseOrder() (0) | 2023.05.24 |