public int compare(Object o1, Object o2)
本来的顺序就是参数的先后顺序o1、o2;
如果保持这个顺序就返回-1,交换顺序就返回1,什么都不做就返回0;
所以,升序的话,如果o1<o2,就返回-1。
例:实现二维数组num按第一列升序排列,第一列相同的按第二列降序排列。
Arrays.sort(num, (o1, o2) -> {
if (o1[0] != o2[0]) {
return o1[0] - o2[0]; // 第一列升序排列
} else {
return o2[1] - o1[1]; // 第二列降序排列
}
});