java中根据Map中key的时间排序
时间: 2024-05-13 09:21:07 浏览: 75
Java中可以通过将Map中的Entry集合转换成List集合,然后通过Collections.sort()方法对List集合进行排序,实现根据Map中key的时间排序。
以下是示例代码:
```java
import java.util.*;
public class MapSortByTime {
public static void main(String[] args) {
Map<Date, String> map = new HashMap<>();
map.put(new Date(2022, 5, 1), "value1");
map.put(new Date(2021, 3, 15), "value2");
map.put(new Date(2023, 9, 20), "value3");
map.put(new Date(2020, 11, 5), "value4");
// 将Map中的Entry集合转换成List集合
List<Map.Entry<Date, String>> list = new ArrayList<>(map.entrySet());
// 通过Collections.sort()方法对List集合进行排序
Collections.sort(list, new Comparator<Map.Entry<Date, String>>() {
@Override
public int compare(Map.Entry<Date, String> o1, Map.Entry<Date, String> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
// 遍历排序后的List集合
for (Map.Entry<Date, String> entry : list) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
```
输出结果:
```
Mon Dec 07 00:00:00 CST 2020 : value4
Wed Apr 15 00:00:00 CST 2021 : value2
Sun May 01 00:00:00 CST 2022 : value1
Wed Oct 18 00:00:00 CST 2023 : value3
```
阅读全文