如何使用Arrays.sort()对二维数组排序

Posted supremeboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Arrays.sort()对二维数组排序相关的知识,希望对你有一定的参考价值。

直接上代码:

按照第一维排序:

public static void main(String[] args){

        int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
        //方法一
        Arrays.sort(nums,new Comparator<int[]>(){
            public int compare(int[] a,int[] b){
                if(a[0]==b[0]){
                    return a[1]-b[1];
                }else{
                    return a[0]-b[0];
                }
            }
        });

        //方法二
        /*Arrays.sort(nums,(a,b)->a[0]-b[0]);*/
        for (int[] num : nums) {
            System.out.println(Arrays.toString(num));
        }
    }

结果:

[1, 2]
[1, 3]
[3, 7]
[4, 5]

按照第二维排序:

public static void main(String[] args){

        int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
        //方法一
        Arrays.sort(nums,new Comparator<int[]>(){
            public int compare(int[] a,int[] b){
                if(a[1]==b[1]){
                    return a[0]-b[0];
                }else{
                    return a[1]-b[1];
                }
            }
        });

        //方法二
        /*Arrays.sort(nums,(a,b)->a[1]-b[1]);*/
        for (int[] num : nums) {
            System.out.println(Arrays.toString(num));
        }
    }

结果:

[1, 2]
[1, 3]
[4, 5]
[3, 7]

 

以上是关于如何使用Arrays.sort()对二维数组排序的主要内容,如果未能解决你的问题,请参考以下文章

sort int[][] 二维数组排序

java Arrays.sort 二维数组

使用 Arrays.sort() 对并行数组进行排序

Java对二维数组进行排序及源码分析

Arrays.sort的范例

Java Comparator 类对数组进行排序