利用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