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>() {@Overridepublic 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);