List按照時間(或某個欄位)欄位排序
阿新 • • 發佈:2020-12-29
技術標籤:開發小技巧
在程式碼開發中會遇到,講取到的資料list按照某個欄位排序,可以直接使用Collections.sort()方法排序
//排序前,要確認list 是否為空,避免空指標異常
List <ObejectEntity> list= new arrayList<>();
Collections.sort(list, new Comparator<ObejectEntity>() {
@Override
public int compare(ObejectEntity o1, ObejectEntity o2) {
//這裡使用時間欄位排序 如果要用其他欄位直接從bean實體中取
return o2.getPayTime().compareTo(o1.getPayTime());
//上面使用的是降序排序,如果正序 直接使用o1-o2即可
}
});
不過現在使用lambda表示式更簡潔
//這裡是上面的lambda變種方式
Collections.sort(list, (o1, o2) -> o2.getPayTime().compareTo(o1.getPayTime()));
//如果排序後,需要取前幾條,可以直接使用sublist(startIndex , endIndex)
List<ObejectEntity> orderList=list.subList(0,10);