티스토리 뷰

Comparator 클래스를 상속하여 내림차순 하는 방법이나, Collections.reverseOrder()를 사용하는 방법은 Objective 타입의 배열 혹은 Primitive 타입의 Wrapper Class로 이루어진 배열을 정렬할 때만 사용할 수 있다.

따라서 Primitive 타입으로 이루어진 배열을 내림차순 정렬할 때는, 오름차순 정렬 후, 뒤집어서 내림차순 정렬한다.

import java.util.*;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        Collections.sort(list, Collections.reverseOrder());

        int[] arr = new int[] {10, 2, 3, 93, -1};
        System.out.println(Arrays.toString(arr)); // [10, 2, 3, 93, -1]
        reverseSort(arr);
        System.out.println(Arrays.toString(arr)); // [93, 10, 3, 2, -1]
    }

    static void reverseSort(int[] arr) {
        // 오름차순 정렬 후 내림차순 정렬
        Arrays.sort(arr);
        for(int i=0; i<arr.length/2; i++) {
            int tmp = arr[i];
            arr[i] = arr[arr.length-1-i];
            arr[arr.length-1-i] = tmp;
        }
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함