我有一個2維雙精度數組,我想根據第二列對它進行排序。我寫了這段代碼,但是在最後一行中出現了這個錯誤,「double不能被解除引用」。它似乎適用於字符串,但不適用於數組。任何幫助讚賞。對二維數組排序
import java.util.Arrays;
import java.util.Comparator;
public class Sort {
public static void main(String args[]){
//Array to sort
double[][] X = new double[][]{
{1.2,2,1,3.1},
{1,2.7,3.3},
{1,2.3,3.1},
{1.5,3.2,2.4};
//Sort the array by column 2
Arrays.sort(X, new ColumnComparator(2));
}
}
//Class that extends Comparator
class ColumnComparator implements Comparator {
int columnToSort;
ColumnComparator(int columnToSort) {
this.columnToSort = columnToSort;
}
//overriding compare method
public int compare(Object o1, Object o2) {
double[] row1 = (double[]) o1;
double[] row2 = (double[]) o2;
//compare the columns to sort
return row1[columnToSort].compareTo(row2[columnToSort]);
}
你說得對。最後一行。 – MTT 2013-03-14 23:37:07