1. 프로그래밍/1-2. Java
Java - [ 2차원 배열 정렬 ]
yunyj99
2022. 7. 29. 23:49
Arrays.sort(arr, Comparator.comparingInt(o1 -> o1[0]));
- o1[0]은 각 부분 배열의 0번째 element를 가리키며, 이를 기준으로 오름차순 정렬
- 값이 같으면 입력의 순서대로 저장된다.
ex) [ [1, 3], [2, 1], [1, 1] ] => [ [1, 3], [1, 1], [2, 1] ]
두 번째 요소도 고려하려 정렬할 경우
Arrays.sort(arr, (o1, o2) -> {
if(o1[0] == o2[0]){
return Integer.compare(o1[1], o2[1]);
} else {
return Integer.compare(o1[0], o2[0]);
}
});
- 0번째 element가 같으면 1번째 element로 compare하고, 같지 않으면 0번째 element로 compare한다는 소리이다.
- 마찬가지로 오름차순 정렬
ex) [ [1, 3], [2, 1], [1, 1] ] => [ [1, 1], [1, 3], [2, 1] ]
참조