localdatetime 时间排序
时间: 2023-10-25 09:58:53 浏览: 56
要对LocalDateTime进行排序,可以使用Java 8的Stream API和LinkedHashMap来实现。首先,我们需要定义一个新的LinkedHashMap来存储排序后的结果。然后,使用Stream的sorted方法对原始的Map进行排序,通过comparingByKey方法指定按照键(即LocalDateTime)进行排序。最后,使用forEachOrdered方法将排序后的键值对放入新的LinkedHashMap中。
以下是示例代码:
```
Map<LocalDateTime, Object> oldMap = new HashMap<>();
// 假设oldMap已经包含了需要排序的键值对
Map<LocalDateTime, Object> newMap = new LinkedHashMap<>();
oldMap.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEachOrdered(x -> newMap.put(x.getKey(), x.getValue()));
```
这样,newMap就是按照LocalDateTime进行排序后的结果。请注意,这里的排序是按照键(即时间)进行的,而不是值(score)进行的。如果需要按照值进行排序,请使用comparingByValue方法。
#### 引用[.reference_title]
- *1* *2* [使用redis Zset根据score和时间从多个维度进行排序(Zset榜单多维度排序)](https://blog.csdn.net/fengxiandada/article/details/128236347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Map<LocalDateTime,List< Object>>根据时间进行排序](https://blog.csdn.net/Slllx111/article/details/130506401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]