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/oeWR 著作权归作者所有。请勿转载和采集!