Java按日期将List <sqlrow>列为String </sqlrow>

时间:2015-02-13 14:28:47

标签: java string list sorting date

我有一个类型的列表,我想按日期元素对此列表进行排序。我google了,我看到了一些具有可比性的解决方案,但是如果没有在我的课程中实现界面,是否有可能做到这一点? 我的列表如下所示: list [{id = 33,text = test1,date = 06.02.15},{id = 81,text = test2,date = 10.01.15}] 现在我想比较两个元素,并希望按日期顺序排序。但是日期也在String中。 你有什么想法吗?

非常感谢你。

2 个答案:

答案 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 sortInsertion sort来简化生活,并按照上面提到的dates进行比较