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

时间:2020-04-17
本文章向大家介绍如何使用Arrays.sort()对二维数组排序,主要包括如何使用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]

 

$flag 上一页 下一页