java map 按时间排序
时间: 2023-09-03 09:16:33 浏览: 121
假设你有一个 Map,其中 key 为时间戳,value 为某种数据类型,你可以按照以下步骤对其进行按时间排序:
1. 将 Map 中的 entry 转化为 List,方便排序。
```java
List<Map.Entry<Long, YourValueType>> list = new ArrayList<>(yourMap.entrySet());
```
2. 使用 Collections.sort() 对 List 进行排序,需要自定义 Comparator。
```java
Collections.sort(list, new Comparator<Map.Entry<Long, YourValueType>>() {
@Override
public int compare(Map.Entry<Long, YourValueType> o1, Map.Entry<Long, YourValueType> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
```
3. 将排序后的 List 转化为 LinkedHashMap,保证插入顺序。
```java
Map<Long, YourValueType> sortedMap = new LinkedHashMap<>();
for (Map.Entry<Long, YourValueType> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
```
现在,你就可以按时间排序后遍历 Map 了。
阅读全文