如果想要自定义排序如降序,则重新实现的sort()方法中的比较器。
自定义排序方法要实现或重写comparator比较器。
关键技术点是
import java.util.Comparator;
class MyIntComparator implements Comparator{
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortList {
}
对list<泛型>自定义排序:
(1)例如 list<user> 对该list中user对象的age进行降序,实现方法有:
user类中实现Comparable接口然后重写compareTo()方法
@Override
public int compareTo(A a) {
return this.age.compareTo(a.getAge()); (默认升序)
/* 降序重写比较器
if(this.age> a.getAge()) {
return -1;
}else{
return 1;
} */
使用自定义排序:Collection.sort(list)
(2)如果user类中没有实现Comparable接口,根据Collections.sort重载方法实现
Collections.sort(listB, new Comparable<B>()) {
@Override
public int compare(B b1, B b2) {
return b1.getOrder().compareTo(b2.getOrder);(默认升序)
/** 自定义降序
if(b1.getAge> b2.getAge()) {
return -1;
}else{
return 1;
**/
}
};
自己总结可能有不对的地方,还望指正