本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。
首先明确一点:
compare(Integer o1, Integer o2){}中,o1代表的是List容器中的后一个元素,o2代表的是List容器中的前一个元素!
通过以下例子可以清晰了解这一点:
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.sort(new Comparator() {
public int compare(Integer o1, Integer o2) {
System.out.println(o1 + "," + o2);//输出o1,o2
return 0;
}
});
}
输出为:
2,1
3,2
升序
代码:
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.sort(new Comparator() {
public int compare(Integer o1, Integer