카테고리 없음

[Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)

bbangduck 2023. 9. 18. 13:40

  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

 

https://velog.io/@chaeeun2030/Error-no-suitable-method-found-for-sortintjava.util.Comparatorjava.lang.Object

 

[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