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

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