1. 程式人生 > 其它 >List按照時間(或某個欄位)欄位排序

List按照時間(或某個欄位)欄位排序

技術標籤:開發小技巧

在程式碼開發中會遇到,講取到的資料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);