根据第一元素进行升序
//根据第一元素进行升序
if (arr1[0] > arr2[0]) {
return 1;
} else if (arr1[0] < arr2[0]) {
return -1;
} else {
return 0;
}
按照第一维度降序,第二维度升序
Lambda表达式会出现整数溢出问题,因为有减法,如果有整数溢出情况,使用比较器的方法
1.假设数组array
1.1按照第一维度降序,第二维度升序
Arrays.sort(array,(a,b) -> (a[0] != b[0]) ? b[0] -a[0] : a[1] - b[1]);
1.2按照第一维度降序,第二维度升序
Arrays.sort(array, new Comparator<int[]>() {
public int compare(int[] arr1, int[] arr2) {
//第一元素降序,第二元素升序
if(arr1[0]>arr2[0]) {
return -1;
}else if(arr1[0]<arr2[0]){
return 1;
}else {
if(arr1[1]>arr2[1]) {
return 1;
}else if(arr1[1]<arr2[1]) {
return -1;
}else {
return 0;
}
}
}
});