본문 바로가기

java

java Arrays.sort 정렬 조건 바꾸기 (Comparator 재정의)

백준 문제를 풀다가 Arrays.sort에 Comparator를 재정의하면 우리가 원하는 조건으로 정렬을 쉽게 할 수 있는걸 

알았어 많이 쓸 것 같아 까먹지 않게 정리해둡니다.

아래 화면처럼 사용 방식은 간단합니다.  (String 배열을 문자열 길이가 짧은 순서대로 정렬하는데 길이가 같을 경우 compareTo함수를 사용해 문자열에 크기가 큰 순으로 정렬하는 코드)

new Comparator를 선언하고  compare 함수 부분을 수정하기만 하면 되는데요, 이 때 parameter가 두 개인 이유는 '비교'하는 것 이기 때문에 parameter는 항상 두 개씩 받게 되어있습니다.

이런 식으로 2차원 배열도 정렬할 수 있습니다.

(2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬 코드)