-1
我有一个二维数组,并且我试图根据第二列对数组进行排序。我想发表COSTI Ciudatu here的答案,但我得到以下错误:基于第二列对Java中的二维数组进行排序
The method sort(T[], Comparator) in the type Arrays is not applicable for the arguments (double[][], ArrayComparator)
我该如何解决呢?
到目前为止我的代码是:
import java.util.Comparator;
class ArrayComparator implements Comparator<Comparable[]> {
private final int columnToSort;
private final boolean ascending;
public ArrayComparator(int columnToSort, boolean ascending) {
this.columnToSort = columnToSort;
this.ascending = ascending;
}
public int compare(Comparable[] c1, Comparable[] c2) {
int cmp = c1[columnToSort].compareTo(c2[columnToSort]);
return ascending ? cmp : -cmp;
}
}
和
import java.util.Arrays;
import java.util.Comparator;
public class Convex {
public static void mysort(double points[][], int n){
Arrays.sort(points, new ArrayComparator(1, true));
}
}
请问您可以发布您的代码吗?我怀疑ArrayComparator没有实现比较器接口。 –
1.最好展示你的相关代码,最好是[mcve],否则我们将如何知道你做错了什么?我们将如何帮助您解决问题? 2.考虑使用单维数组或自定义类的对象列表,而不是使用二维数组。 –
我刚加了代码 – danielpanatha