Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
list集合按照时间排序
如果你有一个包含日期时间字符串(如 “2020-03-26 10:00”)的列表,并希望根据这些日期时间字符串进行倒序排序,你可以使用 Collections.sort 方法结合一个自定义的比较器
- 创建示例列表:我们创建了一个包含日期时间字符串的 ArrayList。
- 定义日期时间格式:使用 SimpleDateFormat 定义日期时间格式 yyyy-MM-dd HH:mm。
自定义比较器:
1、 实现 Comparator 接口。
2、 在 compare 方法中,将字符串解析为 Date 对象。
3、使用 Date 对象的 compareTo 方法进行比较,并返回倒序结果(d2.compareTo(d1))。 - 对列表进行排序:使用 Collections.sort 方法对列表进行排序,并传入自定义的比较器。
打印排序后的列表:遍历并打印排序后的列表。
// 示例列表
List<String> dateTimeList = new ArrayList<>();
dateTimeList.add("2020-03-26 10:00");
dateTimeList.add("2020-03-25 09:00");
dateTimeList.add("2020-03-27 11:00");
dateTimeList.add("2020-03-26 08:00");
// 定义日期时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
// 自定义比较器
Comparator<String> dateTimeComparator = new Comparator<String>() {
@Override
public int compare(String date1, String date2) {
try {
Date d1 = sdf.parse(date1);
Date d2 = sdf.parse(date2);
return d2.compareTo(d1); // 倒序排序
} catch (ParseException e) {
throw new RuntimeException("日期时间格式错误", e);
}
}
};
// 对列表进行排序
Collections.sort(dateTimeList, dateTimeComparator);
// 打印排序后的列表
for (String dateTime : dateTimeList) {
System.out.println("-----------"+dateTime);
}
- 打印结果
倒序 list集合倒序
//倒序 list集合倒序
Collections.reverse(s);