Java 2차원 배열 정렬 Comparator

Jake·2024년 4월 4일
0

들어가기에 앞서

이번시간에는 2차원 배열을 정렬하는 법에 대해 간략하게 알아보겠습니다.

알고리즘 문제를 풀다보면 2차원 배열을 사용할 경우가 많고 그 중 다시 정렬이 필요한 경우가 있습니다.

다른 블로그를 탐색하다 아주 쉽게 사용하는 방법을 찾아 공유드리려고 해요.

Comparator.comparing() 사용

int[][] list = new int[n][m];

Arrays.sort(list, Comparator.comparingInt((int[] o) -> o[0]));

과 같이 Comparator 의 comparing 메서드를 사용하시게 되면 2차원 배열 기준 0번째 원소 기준으로 오름차순 정렬이 진행됩니다.

예시는 아래와 같습니다.

데이터
{1, 0}, {5, 1}, {3, 0}, {2, 1}

정렬 후
{1, 0}, {2, 1}, {3, 0}, {5, 1}

만약 내림차순으로 정렬을 원할경우 아래와 같이 reversed()만 붙여주면 가능합니다.

int[][] list = new int[n][m];

Arrays.sort(list, Comparator.comparingInt((int[] o) -> o[0]).reversed());

정렬 후 데이터는 아래와 같습니다.

데이터
{1, 0}, {5, 1}, {3, 0}, {2, 1}

정렬 후
{5, 1}, {3, 0}, {2, 1}, {1, 0}

0개의 댓글

관련 채용 정보