2차원 배열을 정렬 하기 위해서는 Comparator 클래스를 사용해서 compare 함수를 재정의 해줘야합니다.
arr가 [7,6] [2,6] [2,5] 일 때, 오름차순 정렬하는 법
import java.util.Arrays;
import java.util.Comparator;
public class 정렬{
public static void main(String[] args) {
int[][] arr = {{7,6},{2,5},{2,6}};
Arrays.sort(arr,new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0] == o2[0])
return o1[1]-o2[1];
else
return o1[0]-o2[0];
}
});
}
}
0번째 원소를 비교
return o1[0]-o2[0];
만약 arr [2,6] [2,5]로, 0번째 원소가 2로 같다면 o1[1]-o2[1]로 비교를 해줍니다.
if(o1[0] == o2[0])
return o1[1]-o2[1];
else
return o1[0]-o2[0];
인자1> 인자2, 양수
인자1= 인자2, 0
인자1< 인자2, 음수
내림차순 하는 법
return o2[0]-o1[0];
'ALGORITHM > 이론' 카테고리의 다른 글
우선순위 큐 (Priority Queue) (0) | 2022.10.09 |
---|---|
JAVA 2차원 시계방향으로 90도 돌리기 (0) | 2022.04.07 |
Bubble Sort. 버블정렬 (0) | 2021.01.05 |
Insertion sort. 삽입정렬 (0) | 2021.01.04 |
Selection sort. 선택정렬 (0) | 2021.01.04 |