现在一个ArrayList,里面有很多字段,其中一个字段是字符串类型的,存放的时间格式是:2014-07-14 15:19:53
现需要对这个ArrayList根据时间排序,求大神指点,我知道实现Comparable接口,但不知道具体怎么写。
------解决方案--------------------
先用SimpleDateFormat把字符串转成Date
然后用Date.before(Date)比较
------解决方案--------------------
是这个吗
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Date> itemList = new ArrayList<Date>();
itemList.add(sdf.parse("2014-07-14 15:19:53"));
itemList.add(sdf.parse("2014-07-15 15:19:53"));
itemList.add(sdf.parse("2014-07-15 17:19:53"));
Collections.sort(itemList, new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
//负号倒序,return -o1.compareTo(o2);
return o1.compareTo(o2);
}
});
for (Date date : itemList) {
System.out.println(sdf.format(date));
}