방명록
- [JAVA] 2차원 배열 정렬 Arrays.sort2021년 04월 23일 23시 33분 51초에 업로드 된 글입니다.작성자: 봉주니
1차원 배열의 경우, 아래와 같이 오름차순으로 정렬이 된다.
Arrays.sort(arr)
하지만 2차원의 경우에는 compare 함수를 써주면 간단하다.
아래와 같은 2차원 배열이 있다고 가정하면
int[][] arr = {{2,5},{1,5},{1,4}}
아래와 같이 정렬할 수 있다.
Arrays.sort(arr, Comparator.comparingInt(o1 -> o1[0]));
0번째 값을 기준으로 compare을 하는 것을 의미한다.
하지만 0만 기준으로 하면, 아래와 같이 보일 수 있다.
{{1,5}, {1,4}, {2,5}}
따라서, 0번째가 같을때 두번째 요소를 이용하여 정렬을 하면 된다.
0번째가 같으면 1번째를 비교하고, 다른 경우에는 그냥 0번째로 비교한다.
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]); } });
반응형'Java' 카테고리의 다른 글
[JAVA] PKIX path building failed 오류 무시하기 (0) 2022.03.16 [JAVA] Class 파일 decompile (0) 2021.08.11 [Java] Integer와 int의 차이 (0) 2021.04.21 [JAVA] BigInteger (0) 2021.04.01 [JAVA] X-Frame-Options deny (0) 2021.03.12 다음글이 없습니다.이전글이 없습니다.댓글