Java Arrays.sort() 也没有找到合适的排序方法
Java Arrays.sort() nor suitable method found for sort
我有一个 int[] 数组。我正在尝试使用它的中值对其进行排序。我先对它进行排序,计算它的中值,然后使用 lambda 表达式作为比较器再次排序。
但是编译报错:
no suitable method found for sort(int[],(int a, in[...]n); })
Arrays.sort(arrCopy, (int a, int b) -> {
我的代码
Arrays.sort(arr);
int median = arr[(arr.length - 1) / 2];
Arrays.sort(arrCopy, (int a, int b) -> {
return (Math.abs(a - median) == Math.abs(b - median)) ? Math.abs(a - b) : Math.abs(a - median) - Math.abs(b - median);
});
我想根据与中位数的绝对差对数字进行排序。
尝试使用 IntStream
并从 int 值数组构建流
int[] result = IntStream.of(arr).boxed().sorted((a, b) -> {
return (Math.abs(a - median) == Math.abs(b - median)) ? Math.abs(a - b)
: Math.abs(a - median) - Math.abs(b - median);
}).mapToInt(i -> i.intValue()).toArray();
我有一个 int[] 数组。我正在尝试使用它的中值对其进行排序。我先对它进行排序,计算它的中值,然后使用 lambda 表达式作为比较器再次排序。
但是编译报错:
no suitable method found for sort(int[],(int a, in[...]n); })
Arrays.sort(arrCopy, (int a, int b) -> {
我的代码
Arrays.sort(arr);
int median = arr[(arr.length - 1) / 2];
Arrays.sort(arrCopy, (int a, int b) -> {
return (Math.abs(a - median) == Math.abs(b - median)) ? Math.abs(a - b) : Math.abs(a - median) - Math.abs(b - median);
});
我想根据与中位数的绝对差对数字进行排序。
尝试使用 IntStream
并从 int 值数组构建流
int[] result = IntStream.of(arr).boxed().sorted((a, b) -> {
return (Math.abs(a - median) == Math.abs(b - median)) ? Math.abs(a - b)
: Math.abs(a - median) - Math.abs(b - median);
}).mapToInt(i -> i.intValue()).toArray();