[Java] 2차원 배열 오름차순, 내림차순 정렬

2025. 1. 9. 17:24·Java

1) Comparator 익명 클래스 구현

//1. Comparator
Arrays.sort(arr, new Comparator<int[]>() {
    @Override
    public int compare(int[] o1, int[] o2) {
        return o1[0] - o2[0];   //0번째 요소를 기준으로 오름차순 정렬
        //return o2[0] - o1[0]; //0번째 요소를 기준으로 내림차순 정렬
    }
});

 

 

2) 람다식 사용

//2. 람다식
Arrays.sort(arr, (o1, o2) -> o1[0] - o2[0]);    //0번째 요소를 기준으로 오름차순 정렬
//Arrays.sort(arr, (o1, o2) -> o2[0] - o1[0]);    //0번째 요소를 기준으로 내림차순 정렬

 

 

다중조건

//0번째 요소를 기준으로 오름차순 정렬, 0번째 요소가 같다면 1번째 요소를 기준으로 내림차순 정렬
//1. Comparator
Arrays.sort(arr, new Comparator<int[]>() {
    @Override
    public int compare(int[] o1, int[] o2) {
        if (o1[0] == o2[0]) {
            return o2[1] - o1[1];
        } else {
            return o1[0] - o2[0];
        }
    }
});

//2. 람다식
Arrays.sort(arr, (o1, o2) -> o1[0] == o2[0] ? o2[1] - o1[1] : o1[0] - o2[0]);

 

 

Double형 2차원 배열 정렬

//1. Comparator
Arrays.sort(arr, new Comparator<double[]>() {
    @Override
    public int compare(double[] o1, double[] o2) {
        return Double.compare(o1[1], o2[1]);	//오름차순
        //return Double.compare(o2[1], o1[1]);	//내림차순
    }
});

//2. 람다식
Arrays.sort(arr, (o1, o2) -> Double.compare(o1[1], o2[1]));		//오름차순
//Arrays.sort(arr, (o1, o2) -> Double.compare(o2[1], o1[1]));		//내림차순

 [참고]

https://mingmeng030.tistory.com/140

저작자표시 비영리 변경금지 (새창열림)

'Java' 카테고리의 다른 글

[Java] 오버로딩과 오버라이딩(Overloading & Overriding)  (0) 2024.09.10
[Java] 자바 Queue에 x, y 값 두 개 삽입(Pair 클래스, Point 클래스)  (0) 2024.08.23
[Java] 빠른 입출력 BufferedReader & BufferedWriter  (0) 2024.06.19
[Java] JDK 버전 여러 개 전환하며 사용하기  (0) 2024.05.13
[Java] Math 클래스  (0) 2024.04.17
'Java' 카테고리의 다른 글
  • [Java] 오버로딩과 오버라이딩(Overloading & Overriding)
  • [Java] 자바 Queue에 x, y 값 두 개 삽입(Pair 클래스, Point 클래스)
  • [Java] 빠른 입출력 BufferedReader & BufferedWriter
  • [Java] JDK 버전 여러 개 전환하며 사용하기
nyrimmm
nyrimmm
  • nyrimmm
    개발기록
    nyrimmm
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (70) N
      • Java (6)
      • Spring & SpringBoot (3)
      • Network (1)
      • DataBase (0)
      • SQL (1)
      • IntelliJ (3)
      • Git (0)
      • 자료구조 & 알고리즘 (2)
      • 트러블 슈팅 (1)
        • Spring (1)
      • PS (52) N
        • 백준 (12) N
        • 프로그래머스 (0)
        • SQL (9)
        • 이코테 (31)
      • 후기 & 회고 (1)
  • 태그

  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
nyrimmm
[Java] 2차원 배열 오름차순, 내림차순 정렬
상단으로

티스토리툴바