gpt4 book ai didi

java - 根据最后一列排序

转载 作者:行者123 更新时间:2023-11-29 08:09:43 29 4
gpt4 key购买 nike

我有一个这样的数组:

 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);

但它不起作用!怎么了?

最佳答案

如果需要按第三列排序,则需要使用a[2]

public static void main(String[] args) {
double[][] arr = { { 1, 10, 2.0 }, { 1, 11, 1.2 }, { 1, 12, 1.4 }, };
;
Arrays.sort(arr, new Comparator<double[]>() {
public int compare(double[] o1, double[] o2) {
return Double.compare(o1[2], o2[2]);
}
});

for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j]);
System.out.print("\t");
}
System.out.println();
}

}

关于java - 根据最后一列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837645/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com