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