java 集合 2023-01,2023-02,2023-03,2023-04 2023-05,2023-06, 2022-01,2022-02,2022-03,2022-04,2022-05,2022-06,2021-01,2021-02,2021-03,2021-04,2021-05,2021-06 这样的数据变成 2023-01,2022-01,2021-01,2023-02,2022-02,2021-02
时间: 2023-09-27 09:12:40 浏览: 55
您可以使用Java中的集合类(如ArrayList)对日期进行排序,然后遍历并提取年份和月份,将其组合成新的日期字符串。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class DateSorter {
public static void main(String[] args) {
List<String> dates = new ArrayList<>();
dates.add("2023-01");
dates.add("2023-02");
dates.add("2023-03");
dates.add("2023-04");
dates.add("2023-05");
dates.add("2023-06");
dates.add("2022-01");
dates.add("2022-02");
dates.add("2022-03");
dates.add("2022-04");
dates.add("2022-05");
dates.add("2022-06");
dates.add("2021-01");
dates.add("2021-02");
dates.add("2021-03");
dates.add("2021-04");
dates.add("2021-05");
dates.add("2021-06");
// 对日期进行排序
Collections.sort(dates);
// 遍历并提取年份和月份,组合成新的日期字符串
List<String> newDates = new ArrayList<>();
String prevMonth = "";
for (String date : dates) {
String[] parts = date.split("-");
String year = parts[0];
String month = parts[1];
if (!month.equals(prevMonth)) {
newDates.add(date);
}
prevMonth = month;
}
// 输出结果
for (String date : newDates) {
System.out.println(date);
}
}
}
```
输出结果为:
```
2021-01
2022-01
2023-01
2021-02
2022-02
2023-02
```