排序2D int数组JAVA

排序2D int数组JAVA,java,arrays,sorting,multidimensional-array,Java,Arrays,Sorting,Multidimensional Array,我有一个二维数组 这是一个数组,有7个整数行和更多行 int[][] new arr=new[7][100]; 该行中的数字已排序 我需要一个排序数组 比如说 9 4 15 22 32 47 50 1 5 9 12 19 25 36 22 23 25 29 36 55 99 1 5 11 12 19 25 36 排序后 1 5 9 12 19 25 36 1 5 11 12 19 25 36 9 4 15 22 32 47 50 22 23 25 29 36 55 99 解决此问题的简单方

我有一个二维数组 这是一个数组,有7个整数行和更多行

int[][] new arr=new[7][100];
该行中的数字已排序

我需要一个排序数组

比如说

9 4 15 22 32 47 50
1 5 9 12 19 25 36
22 23 25 29 36 55 99
1 5 11 12 19 25 36
排序后

1 5 9 12 19 25 36
1 5 11 12 19 25 36
9 4 15 22 32 47 50
22 23 25 29 36 55 99

解决此问题的简单方法是将二维数组转换为一维数组列表

List<int[]> list = new ArrayList<int[]>();
// add logic to transform your 2D array here
List List=new ArrayList();
//在此处添加逻辑以变换二维阵列
然后可以将Collections.sort()与自定义比较器函数一起使用

Collections.sort(list, new Comparator<int[]>() {
    public int compare(int []a,int []b) {
        for(int i=0;i<6;i++)
            if(a[i]!=b[i]) return a[i]-b[i];
        return a[6] - b[6];
    }
});
Collections.sort(列表,新比较器(){
公共整数比较(整数[]a,整数[]b){

对于(int i=0;i我会做类似的事情,或者类似的事情:

我在堆栈溢出中看到了类似的情况:

double[][]数组={
{1, 5},
{13, 1.55},
{12, 100.6},
{12.1, .85} };
sort(数组,新的java.util.Comparator(){
公共整数比较(双[]a,双[]b){
返回Double.compare(a[0],b[0]);
}
});

我不知道如何在我的程序中使用这段代码。当我有int[]]时,如何使用arraylist我把这部分留给你练习:)。你也可以不使用arraylist,而是将它作为数组,并用数组对它进行排序。排序。你只需先将你的
int[7][100]
转换为
int[100][7]
好的,我有int[]]新的arr[100][7]现在怎么办?
Collections.sort
也只适用于一维集合。不过没关系。只需使用示例中的比较器即可。您可能希望首先转置数组,使每个元素都是一行(即int[100][7]而不是int[7][100])。下面是一个示例
 double[][] array= {
   {1, 5},
   {13, 1.55},
   {12, 100.6},
   {12.1, .85} };

   java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
       public int compare(double[] a, double[] b) {
           return Double.compare(a[0], b[0]);
       }
   });