利用Arrays.sort()对二维数组进行排序


例1:给定二维数组,按照第二个元素升序排列

int[][] intvs=new int[4][2];
Arrays.sort(intvs,new Comaparator<int[]>(){
        public int compare(int[] a, int[] b){
            return a[1] - b[1];
        }
    });
//intvs可表示为[ [1,2], [2,3], [3,4], [1,3] ],可以看成是五个具有双元素的值
//这里int compare(int[] a, int[] b)
//这里的 a[0]-b[0] 表示按照第一个元素升序排列
// b[0]-a[0] 表示按照第一个元素降序排列
// a[1]-b[1] 表示按照第二个元素升序排列

例2:给定二维数组,按照第一个元素升序排列,若第一个元素相等,则按照第二个元素升序排列

int[][] intvs=new int[4][2];
Arrays.sort(intvs,new Comaparator<int[]>(){
        public int compare(int[] a, int[] b){
            if(a[0]==b[0]){return a[1]-b[1];}
            return a[0] - b[0];
        }
    });


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM