以下は、Comparatorインターフェイスを実装するリストの並べ替えです。
インターフェイスの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;
}