从list找到最大的时间

例如找到下面数组的最大时间

List<String> dates = Arrays.asList("202210", "202211" ,"202212", "202301");

1.直接使用Collections.max去取最大的
由于数组是 String 类型,Collection找到最大值的方法仍然有效,使用Collection可以实现,因为格式是yyyyMM这意味着后面的年份总是大于较小年份的字符串值。

Collections.max(dates)

2.用JAVA8里的方法

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuuMM");
        YearMonth max=dates.stream().map(s -> YearMonth.parse(s, dtf))
                .max(YearMonth::compareTo)
                .get();

你可能感兴趣的:(java)