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
进行比较
我有一个来自 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