Arrays.sort(intervals, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
//按照数组的第一个元素进行升序,如果第一个元素相同则按照第二个元素进行升序
if (o1[0]==o2[0]){
return o1[1]-o2[1];
}else{
return o1[0]-o2[0];
}
}
});
更新:对于重写排序方法,comparator里再也不要直接返回两个数相减了,避免出现int溢出的问题。
Arrays.sort(points, new Comparator<int[]>() {
@Override
public int compare(int[] point1, int[] point2) {
if (point1[1] > point2[1]) {
return 1;
} else if (point1[1] < point2[1]) {
return -1;
} else {
return 0;
}
}
});