如何对以下列表进行排序?以便根据日期和时间对值进行排序,排序后的预期输出应如下所示
我尽我所能,但没有取得结果,可以有人帮助我
27-08-2018 15:20:12
27-08-2018 12:20:10
26-08-2018 10:20:20
EventObject eventObject1 = new EventObject;
eventObject1.setDateAndTime("27-08-2018 15:20:12")
eventObject1.name("name1")
EventArrayList.add(eventObject1)
EventObject eventObject2 = new EventObject;
eventObject2.setDateAndTime("27-08-2018 12:20:10")
eventObject2.name("name2")
EventArrayList.add(eventObject2)
EventObject eventObject3 = new EventObject;
eventObject3.setDateAndTime("26-08-2018 10:20:20")
eventObject3.name("name2")
EventArrayList.add(eventObject3)
if (EventArrayList.size() > 0) {
Collections.sort(EventArrayList, new Comparator<AuditListChildObject>() {
@Override
public int compare(final EventObject object1, final EventObject object2) {
return object1.getDateAndTime().compareTo(object2.getDateAndTime());
}
});
}
答案 0 :(得分:1)
尝试一下
sort -t, datafile.csv>newdatafile.csv
答案 1 :(得分:0)
您是否考虑过将字符串解析为日期对象?
dateString = "27-08-2018 15:20:12"
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
Date date = dateFormat.parse(dateString);
日期对象应该具有可比性,因此可以使用
进行排序Collections.sort(arrayOfDateObjects)
或使用自定义比较器,您可以在自定义的compare()方法中根据从字符串解析的日期来定义对对象进行排序。