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] ]


참조