我有一个类型的列表,我想按日期元素对此列表进行排序。我google了,我看到了一些具有可比性的解决方案,但是如果没有在我的课程中实现界面,是否有可能做到这一点? 我的列表如下所示: list [{id = 33,text = test1,date = 06.02.15},{id = 81,text = test2,date = 10.01.15}] 现在我想比较两个元素,并希望按日期顺序排序。但是日期也在String中。 你有什么想法吗?
非常感谢你。
答案 0 :(得分:2)
Collections.sort(Type, new Comparator<Type>() {
@Override
public int compare(Type o1, Type o2) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd h:m");
Date d1 = sdf.parse(o1.date);
Date d2 = sdf.parse(o2.date);
return d1.compareTo(d2);
}
});
答案 1 :(得分:1)
因此,如果日期存储在varchar2中,而不是首先将它们转换为实际的Date对象,
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd h:m");
System.out.println(sdf.parse(dateFromDataBase));
然后在日期对象上进行比较
if(date1.compareTo(date2)>0){
// Do whatever you want to do
}
现在进行List<SqlRow>
您可以使用 @Srinivasu Talluri 中提到的comparator Interface
但是如果你对使用这些界面不感兴趣,那么你可以使用bubble sort或Insertion sort来简化生活,并按照上面提到的dates
进行比较