개발/Java

[Java] Array.sort 1차원, 2차원 배열 정렬

Dane.Kim 2023. 4. 16. 08:33

1차원 배열 정렬은

 

import java.util.*;

class Solution {
    public int solution(int[] targets) {
    
Arrays.sort(targets, (i1, i2) -> i2 - i1);

이렇게 정렬이 가능.

 

import java.util.*;

class Solution {
    public int solution(int[][] targets) {
        int answer = 0;
        
        // 인덱스 1의 값이 작은 순으로 정렬하는 람다식
        Arrays.sort(targets, (o1, o2) -> { return o1[1]-o2[1]; });

2차원 배열 정렬은

 

위 방법을 사용하면 인덱스 1의 값이 작은 순으로 정렬할 수 있다.

 

만약 조건을 걸고 싶다면?

 

Arrays.sort(arrays, (o1, o2) -> o1[0] == o2[0] ? o1[1] - o2[1] : o1[0] - o2[0]);
// -> 조건 ? 결과 :(else) 결과 로 작성