【发布时间】:2016-01-29 20:15:53
【问题描述】:
我有一个包含对象数组列表的数组列表
ArrayList<ArrayList<Object>> arrayLists
每个数组列表都包含一个日期时间字符串对象,我正在尝试将日期时间字符串转换为日期并使用比较器根据最新到最旧的日期重新排序列表,我过去曾成功地使用它重新排序整数,但我似乎缺少重新排序日期时间字符串的内容,我在下面发布了我的代码
Collections.sort(arrayLists,
new Comparator<ArrayList<Object>>() {
@Override
public int compare(ArrayList<Object> a, ArrayList<Object> b) {
// TODO Auto-generated method stub
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date1, date2;
date1 = null;
date2 = null;
try {
date1 = dateFormat.parse((String) a.get(2));
date2 = dateFormat.parse((String) b.get(2));
Log.d("dateformat", date1.toString() + " " + date2.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return Long.compare(date1.getTime(),date2.getTime());
//return ((Integer) a.get(0)).compareTo((Integer) b.get(0));
}
});
【问题讨论】:
-
你能发布一个包含在
ArrayList<Object>中的示例数据 -
@Msp 数组列表包含字符串/整数对象,第三个值始终是“yyyy-MM-dd'T'HH:mm:ss”格式的日期时间字符串
-
这里有什么问题?排序未发生或出现一些异常。发布示例输入和输出。
-
我用一些示例尝试了你的代码,它工作得非常好。
标签: java android datetime comparator