이차원 배열의 정렬 - Arrays.sort(arr, Comparator) / JAVAJava2022. 12. 19. 23:13
Table of Contents
728x90
728x90
1차원배열의 정렬
import java.util.Arrays;
// 오름차순
Arrays.sort(arr);
// 내림차순 기본타입에 선언 불가!! 참조타입에 가능
Arrays.sort(arr, Collections.reverseOrder());
//참조타입 변환(ex - int[])
Integer[] refArr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
//변환 후 정렬
Arrays.sort(refArr, Collections.reverseOrder());
2차원배열의 정렬
import java.util.Arrays;
import java.util.Comparator;
// Comparator는 인터페이스이기때문에 오버라이딩
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0]-o2[0]; // 첫번째 숫자 기준 오름차순 {1,30}{2,10}{3,50}{4,20}{5,40}
return o2[0]-o1[0]; // 첫번째 숫자 기준 내림차순 {5,40}{4,20}{3,50}{2,10}{1,30}
return o1[1]-o2[1]; // 두번째 숫자 기준 오름차순 {2,10}{4,20}{1,30}{5,40}{3,50}
return o2[1]-o1[1]; // 두번째 숫자 기준 내림차순 {3,50}{5,40}{1,30}{4,20}{2,10}
}
});
// 람다식 활용
Arrays.sort(arr, (o1, o2) -> o1[1] - o2[1]);
//String 배열 정렬
Arrays.sort(arr, (o1, o2) -> o1[1].compareTo(o2[1]));
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!