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];
    }
});
posted @ 2021-05-07 11:58  zwy2021  阅读(2548)  评论(0)    收藏  举报