Java Arrays.sort()重寫comparator方法


先看一下接口

Arrays.sort(T[],Comparator<? super T> c);

comparator要重寫compare方法

compare方法大概長這樣,返回值>0,就是o1大,<0,o2大,等於零一樣大

public int compare(Object o1,Object o2) {
        return ...;
}

知道了上面的接口長相和compare方法格式之后,就可以寫Arrays.sort()了

Arrays.sort(T[],new Comparator
           @Override
           public int compare(Object o1,Object o2){
               return...;
           });
//lambda表達式寫法
Arrays.sort(T[],(o1,o2)->...)

比如重寫一個n*2的二維int數組的Arrays.sort

int[][] arr = new int[3][2];
Arrays.sort(arr,(a,b)->{
    if(a[0]!=b[0]){
        return a[0]-b[0];
    }else{
        return a[1]-b[1];
    }
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM