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