可以使用 Collections.sort() 方法对 String 类型的日期进行排序,具体步骤如下:

  1. 将 String 类型的日期转换成 Date 类型,方便比较大小。

  2. 实现 Comparator 接口,重写 compare() 方法,定义排序规则。

  3. 调用 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']

Java 对象集合中 String 日期排序 (降序)

原文地址: https://www.cveoy.top/t/topic/oeWR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录