2차원 배열 정렬하는 방법

알파로그·2023년 8월 23일
0

알고리즘 스킬

목록 보기
7/19
  • 이 방법으로 객체등 다양한 배열들을 원하는 조건으로 정렬시킬 수 있다.

✏️ 필요성

  • 2차원 배열은 Arrays.sort() 를 사용해 정렬하면 아래와 같은 오류가 발생한다.
java.lang.ClassCastException: I cannot be cast to java.lang.Comparable
  • 2차원 배열을 정렬하기 위해선 구체적인 비교 기준을 정해줘야 한다.

📍 사용 방법

Arrays.sort(arr, new Comparator<int[]>(){
   @Override
    public int compare(int[] o1, int[] o2){

        // 이곳에 규칙을 정의하면 된다.
    }
});
  • 규칙
    • 반환값이 양수, 음수 기준으로 정렬이 된다.
// 첫번째 index 기준 오름차순
return o1[0]-o2[0];

// 첫번째 index 기준 내림차순
return o2[0]-o1[0];

// 두번째 index 기준 오름차순
return o1[1]-o2[1];

// 두번째 index 기준 내림차순
return o2[1]-o1[1];
profile
잘못된 내용 PR 환영

0개의 댓글