最近在項目中需要將讀取的數據按照時間的降序進行排序。
具體的步驟如下:
1.讀取數據,存入List中
2.取出數據中的時間戳,由String轉換成Date
3.使用冒泡排序對List中元素按照Date進行排序
具體代碼如下:
//將List按照時間倒序排列
@SuppressLint("SimpleDateFormat")
private List<TestEntity> invertOrderList(List<TestEntity> L){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1;
Date d2;
TestEntity temp_r = new TestEntity();
//做一個冒泡排序,大的在數組的前列
for(int i=0; i<L.size()-1; i++){
for(int j=i+1; j<L.size();j++){
ParsePosition pos1 = new ParsePosition(0);
ParsePosition pos2 = new ParsePosition(0);
d1 = sdf.parse(L.get(i).getDate(), pos1);
d2 = sdf.parse(L.get(j).getDate(), pos2);
if(d1.before(d2)){//如果隊前日期靠前,調換順序
temp_r = L.get(i);
L.set(i, L.get(j));
L.set(j, temp_r);
}
}
}
return L;
}