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
Arrays (Java Platform SE 8 )
parallelPrefix public static void parallelPrefix(T[] array, BinaryOperator op) Cumulates, in parallel, each element of the given array in place, using the supplied function. For example if the array initially holds [2, 1, 0, 3] and the operation pe
docs.oracle.com
[Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)
int 배열을 내림차순으로 정렬하고자 했다.Comparator에 Collections.reverseOrder()를 사용하려고 한 순간 오류가 발생했다.https://darkstart.tistory.com/209<primitive 타입에 대한 Compara
velog.io