java对对象集合中的String类型的日期进行从大到小排序
可以使用Collections.sort()方法来对String类型的日期进行排序,具体步骤如下:
-
将String类型的日期转换成Date类型,方便比较大小。
-
实现Comparator接口,重写compare()方法,定义排序规则。
-
调用Collections.sort()方法进行排序。
示例代码如下:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
public class Main {
public static void main(String[] args) throws ParseException {
List<String> dateList = new ArrayList<>();
dateList.add("2020-01-01");
dateList.add("2020-02-05");
dateList.add("2020-03-10");
dateList.add("2020-04-15");
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
// 将String类型的日期转换成Date类型
List<Date> dateListNew = new ArrayList<>();
for (String date : dateList) {
Date dateNew = dateFormat.parse(date);
dateListNew.add(dateNew);
}
// 对日期进行从大到小排序
Collections.sort(dateListNew, new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
return o2.compareTo(o1);
}
});
// 将排序后的日期转换成String类型
List<String> dateListSorted = new ArrayList<>();
for (Date date : dateListNew) {
String dateSorted = dateFormat.format(date);
dateListSorted.add(dateSorted);
}
System.out.println(dateListSorted);
}
}
输出结果为:[2020-04-15, 2020-03-10, 2020-02-05, 2020-01-01
原文地址: https://www.cveoy.top/t/topic/fp6W 著作权归作者所有。请勿转载和采集!