List集合排序方法
阿新 • • 發佈:2018-12-29
List排序 approveList集合 按申請日期和時間排序
方法一:
Collections.sort(approveList, new Comparator<HrCommuteApproveDetail>() {
@Override
public int compare(HrCommuteApproveDetail arg0, HrCommuteApproveDetail arg1) {
return arg0.getBeginTime().compareTo(arg1.getBeginTime());
}
});
方法二:
approveList.sort(new Comparator<HrCommuteApproveDetail>() { @Override public int compare(HrCommuteApproveDetail arg0, HrCommuteApproveDetail arg1) { return arg0.getBeginTime().compareTo(arg1.getBeginTime()); } });
方法三:
approveList.sort((lhs, rhs) -> {
int a = lhs.getCommuteDate().compareTo(rhs.getCommuteDate());
if(0==a){
return lhs.getBeginTime().compareTo(rhs.getBeginTime());
}
return a;
});
方法四:
Collections.sort(approveList, (o1, o2) -> o1.getBeginTime().compareTo(o2.getBeginTime()));//java1.8 Lambda表示式
方法五:
approveList.sort((o1, o2) -> o1.getBeginTime().compareTo(o2.getBeginTime()));//java1.8 Lambda表示式
- ArrayList和LinkList的區別:
ArrayList:ArrayList是採用陣列的形式儲存物件的,這種方式將物件放在連續的記憶體塊中,所以插入和刪除時比較麻煩,查詢比較方便。
LinkList:LinkList是將物件放在獨立的空間中,而且每個空間中還儲存下一個空間的索引,也就是資料結構中的連結串列結構,插入和刪除比較方便,但是查詢很麻煩,要從第一個開始遍歷。
需要迴圈陣列結構(ArrayList)的資料時,建議使用普通for迴圈,因為for迴圈採用下標訪問,對於陣列結構的資料來說,採用下標訪問比較好。
需要迴圈連結串列結構(LinkList)的資料時,一定不要使用普通for迴圈,這種做法很糟糕,資料量大的時候有可能會導致系統崩潰。