Java/Java 사용법들
Java에서 int[] 배열 내림차순 정렬하기
jhk828
2021. 6. 29. 02:20
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;
}
}
}