Java 按日期将列表 <SqlRow> 排序为字符串

Java sort List <SqlRow> by date as String

我有一个来自 Type 的列表,我想按日期元素对该列表进行排序。我用谷歌搜索,看到了一些具有可比性的解决方案,但是是否有可能在不在我的 class 中实现接口的情况下做到这一点? 我的列表如下所示: 列表[{id=33, text=test1, date=06.02.15}, {id=81, text=test2, date=10.01.15}] 现在我想比较这两个元素,并希望按日期降序排列它们。但日期也在字符串中。 你有什么想法吗?

非常感谢您。

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);
      }
  });

因此,如果日期存储在 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 or Insertion sort 并根据上面提到的 dates

进行比较