經常遇見一個列表,兩個接口的情況,兩個接口屬于兩個不同的表數據,那么數據拼接回來之后,并不是按照時間排序的,看起來就相當混亂,所以記錄一下如何對數據按照時間排序。
步驟一:
格式化日期
public static Date stringToDate(String dateString) { ParsePosition position = new ParsePosition(0); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dateValue = simpleDateFormat.parse(dateString, position); return dateValue; }
步驟二:
對拼接的列表進行排序
private void sortData(ArrayList<CourseModel> mList) { Collections.sort(mList, new Comparator<CourseModel>() { /** * * @param lhs * @param rhs * @return an integer < 0 if lhs is less than rhs, 0 if they are * equal, and > 0 if lhs is greater than rhs,比較數據大小時,這里比的是時間 */ @Override public int compare(CourseModel lhs, CourseModel rhs) { Date date1 = DateUtil.stringToDate(lhs.getCREATE_TIME()); Date date2 = DateUtil.stringToDate(rhs.getCREATE_TIME()); // 對日期字段進行升序,如果欲降序可采用after方法 if (date1.before(date2)) { return 1; } return -1; } }); adapter.replaceAll(mList); }
直接調用這個方法,數據類型改造一下即可。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答