2024年第24周类型的字符串排序 java
时间: 2024-10-20 13:03:23 浏览: 0
在Java中,如果你有一个包含类似"2024-W24"这种格式(年份-周数)的字符串列表,想要按照周数进行排序,你需要先解析出每个字符串的周数部分,然后利用`Collections.sort()`函数配合自定义的比较器(Comparator)。这是一个例子:
```java
import java.text.SimpleDateFormat;
import java.util.*;
class WeekNumberComparator implements Comparator<String> {
SimpleDateFormat format = new SimpleDateFormat("yyyy-W");
@Override
public int compare(String s1, String s2) {
try {
int week1 = Integer.parseInt(format.parse(s1).getWeek());
int week2 = Integer.parseInt(format.parse(s2).getWeek());
return week2 - week1; // 返回负数表示s1排在前面,正数反之
} catch (Exception e) {
throw new IllegalArgumentException("Invalid date format: " + e.getMessage());
}
}
}
List<String> dates = Arrays.asList("2024-W24", "2024-W18", "2025-W01");
Collections.sort(dates, new WeekNumberComparator());
System.out.println(dates); // 输出:[2024-W18, 2024-W24, 2025-W01]
```
在这个例子中,我们首先创建了一个`WeekNumberComparator`,它根据日期格式解析出周数并进行比较。
阅读全文