У меня есть массив так:Сортировать по последнему столбцу
UserID |ItemID | Score
1 10 2.0
1 11 1.2
1 12 1.4
..........
Я хочу, чтобы отсортировать массив в соответствии счет колонке. Мой код:
double[][] arr=new double [1000][3];
int i=0;int j=0;int k=0;
while ((phrase = br.readLine()) != null) {
String[] splited =phrase.split("\t");
arr[i][0]=Double.parseDouble(splited[0]);
i++;
arr[j][1]=Double.parseDouble(splited[1]);
j++;
arr[k][2]=Double.parseDouble(splited[2]);
k++;
}
//print(a);
System.out.println();
Arrays.sort(arr, new java.util.Comparator<double[]>() {
public int compare(double[] a, double[] b) {
return (int)(a[1] -b[1]);
}
});
print(arr);
Но это не сработает! что не так?
Также я использую return (int) (a [1] -b [1]); и не сортирует массив, но, как вы говорите, я использую этот возврат: return Double.compare (o1 [2], o2 [2]); он работает. Спасибо – user951487
рад быть полезным :) –