要求:
如下月份数据:
"20220901","20220912","20220923","20220929","20221010","20221101","20221023",
"20221130","20221109","20221031","20221031"
最终返回:
{"20220901","20220929"}
{"20221001","20221031"}
{"20221101","20221130"}
public void test_sortByMonth(){
List<String> dateList = Lists.newArrayList("20220901","20220912","20220923",
"20220929","20221010","20221101","20221023","20221130","20221109","20221031","20221031");
Map<String,String> result = dateList.stream().collect(
Collectors.groupingBy(x -> x.substring(0,6)+"01",
Collectors.collectingAndThen(
Collectors.maxBy(Comparator.comparingInt(x ->Integer.valueOf(x))),Optional::get)
)
);
System.out.println(result.toString());
}