先看一下接口
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];
}
});