본문 바로가기

Language/JAVA

[JAVA] Array sort, ArrayList sort (배열 정렬, ArrayList sort 정렬)

ArrayList 정렬

 

1. Collections.sort()

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class example {
    public static void main(String args[]) {
        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(4, 7, 5, 2, 9, 6));

        // 오름차순
        Collections.sort(list);
        System.out.println("오름차순 : " + list);

        // 내림차순
        Collections.sort(list, Collections.reverseOrder());
        System.out.println("내림차순 : " + list);
    }
}

결과

 

 

 

2. list.sort()

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class example {
    public static void main(String args[]) {
        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(4, 7, 5, 2, 9, 6));

        // 오름차순
        list.sort(Comparator.naturalOrder());
        System.out.println("오름차순 : " + list);

        // 내림차순
        list.sort(Comparator.reverseOrder());
        System.out.println("내림차순 : " + list);
    }
}

결과

 

 

 

 

 

Array 정렬

 

1. 배열 전체 오름차순/내림차순 정렬

import java.util.Arrays;
import java.util.Collections;

public class example {
    public static void main(String args[]) {
        int intArr[] = {1, 73, 35, 48, 8, 26};

        // 오름차순
        Arrays.sort(intArr);
        System.out.println("오름차순 : " + Arrays.toString(intArr));

        // 내림차순
        // Arrays.sort(arr, Collections.reverseOrder()); -> 에러
        // int에서는 Collections.reverseOrder()가 사용을 할 수 없음
        // 배열 내림차순을 적용하려면 int[]가 아닌 Interger[]로 변수를 선언해야합니다

        Integer[] integerArr = {1, 73, 35, 48, 8, 26};
        Arrays.sort(integerArr, Collections.reverseOrder());
        System.out.println("내림차순 : " + Arrays.toString(integerArr));
    }
}

결과

 

 

 

 

2. 배열 일부분만 오름차순/내림차순 정렬

import java.util.Arrays;
import java.util.Collections;

public class example {
    public static void main(String args[]) {
        int intArr[] = {1, 73, 35, 48, 8, 26};

        // 오름차순
        Arrays.sort(intArr, 1, 4);
        System.out.println("1~3 원소 오름차순 : " + Arrays.toString(intArr));

        // 내림차순
        Integer[] integerArr = {1, 73, 35, 48, 8, 26};
        Arrays.sort(integerArr, 1, 4, Collections.reverseOrder());
        System.out.println("1~3 원소 내림차순 : " + Arrays.toString(integerArr));
    }
}

결과