gpt4 book ai didi

java - 如何根据第二列对二维数组中的第一列进行排序?

转载 作者:行者123 更新时间:2023-11-29 03:52:36 26 4
gpt4 key购买 nike

例如:

数组中的第一列首先按数字顺序排列。第二列是数字随机的。我想按顺序放置第二列,这当然会迫使第一列乱序。任何想法如何在 java 中执行此操作。我已经搜索过,但似乎无法找到正确找到它的词汇。

最佳答案

您可以使用的方法之一是 Arrays.sort() ,您可以在其中定义自己的比较器,它可以比较二维数组的两行。

下面的代码分配了一个有两列和十行的数组,第一列排序,第二列完全随机。然后根据第二列对其进行排序。

class Test{

static void print(int[][] a){
for (int i=0;i<a.length;i++){
for (int j=0;j<a[0].length;j++)
System.out.print(a[i][j]+" ");
System.out.println();
}
}

public static void main(String[]args){

java.util.Random r = new java.util.Random();
int[][] a = new int[10][2];
for (int i=0;i<a.length;i++){
a[i][0]=i+1;
a[i][1]=r.nextInt(100);
}

print(a);
System.out.println();

java.util.Arrays.sort(a,
new java.util.Comparator<int[]>(){
public int compare(int[]a,int[]b){
return a[1]-b[1];
}
});

print(a);
}
}

示例输出:

1 8 
2 49
3 82
4 89
5 8
6 0
7 83
8 89
9 8
10 46

6 0
1 8
5 8
9 8
10 46
2 49
3 82
7 83
4 89
8 89

关于java - 如何根据第二列对二维数组中的第一列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021964/

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