用了几次java数组按列排序都没能熟悉地记住,特在此记录一下,也不用每次用的时候都搜索一遍
一、按第一列进行排序(如果第一列相等,就按第二列进行排序)
// intervals 是一个二维数组, compare是重写的方法
Arrays.sort(intervals, new Comparator<int[]>(){
public int compare(int[] o1, int[] o2){
if(o1[0] == o2[0]) //如果第一列相等
return o1[1]-o2[1]; //就按第二列升序排序
return o1[0]-o2[0]; //按第一列升序排序
}
})
二、如果是按其他列进行排序的话,只需要将重写的compare方法中的下标修改成对应的列即可。
如按第二列进行升序排序:
// intervals 是一个二维数组, compare是重写的方法
Arrays.sort(intervals, new Comparator<int[]>(){
public int compare(int[] o1, int[] o2){
//这里没有加辅助判断条件,只用了单一的排序规则
return o1[1]-o2[1]; //按第一列升序排序
}
})