如下是实现Comparator接口做的list排序。
需要实现接口的compare方法,并返回值。
具体返回值的含义,见如下代码注释。
private List<UsrWorkExperience> sortWorkExpList(List<UsrWorkExperience> list){
Collections.sort(list, new Comparator<UsrWorkExperience>(){
@Override
public int compare(UsrWorkExperience w1, UsrWorkExperience w2) {
/*
* 负数代表左值小于右值,排在前面
* 正数代表左值大于右值,排在后面
0代表左值等于右值,排在上面
*/
if(w1.getEndTime().after(w2.getEndTime())){
return -1;
}
if(w1.getEndTime().equals(w2.getEndTime())&&
w1.getStartTime().after(w2.getStartTime())){
return -1;
}
if(w1.getEndTime().equals(w2.getEndTime())&&
w1.getStartTime().equals(w2.getStartTime())&&
w1.getDateTime().after(w2.getDateTime())
){
return -1;
}
return 1;
}
});
return list;
}