Arrays.sort(arr, Collections.reversOrder()); 를 실행하니 제목과 같은 오류가 발생했다.
Arrays.sort()는 int[]에 사용가능하나 primitive 타입에 대한 Comparator가 없기 때문에 발생한 오류이다.
1. 오름차순으로 정렬해서 인덱싱을 하거나
2. 내림차순 정렬을 직접 구현해서 사용하거나
3. Integer[] 배열을 정렬해야 한다.
내림차순 정렬
출처 - https://iksflow.tistory.com/78
import java.util.Arrays;
public class ReverseSortArrayExample {
public static void main(String[] args) {
int[] arr = {4, 2, 5, 3, 1};
reverseSort(arr);
for (int num : arr) {
System.out.println(num);
}
}
public static void reverseSort(int[] arr) {
Arrays.sort(arr);
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
}
}
참고
https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html