二维数组排序
int a[][] ={{1,2},{4,3},{2,1},{2,-1}};
Arrays.sort(a,new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0]-o2[0]==0)
return o1[1]-o2[1];
return o1[0]-o2[0];
}
});
- o1[0]-o2[0],减,升学排序
- o2[0]-o1[0],减,降序排序
对象数组排序
- 对象需要添加接口 Comparable
- 重写了Comparable的CompareTo方法
- 可以比较对象中初始化的元素,必须返回数字
public int compareTo(Hero o) {
return this.age- o.age;
}
集合排序
List<Integer> list=new ArrayList<Integer>();
list.add(2);
list.add(1);
list.add(4);
list.add(3);
Collections.sort(list,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
System.out.println(list);