【发布时间】:2021-02-22 07:01:11
【问题描述】:
我有地图Map<LocalDateTime, String>。
如何按键值对其进行排序?我应该使用什么比较器?
someMap.entrySet().stream().sorted(Comparator.comparing(???))
或
someMap.entrySet().stream().sorted(??)
我该如何解决?我应该写什么“??” ?
排序:
Key Value
2020-01-09 09:57:58.631 Some info
2020-01-09 09:57:59.224 Some info
2020-01-09 09:59:03.144 Info
没有排序:
Key Value
2020-01-09 09:57:58.631 Some info
2020-01-09 09:59:03.144 Info
2020-01-09 09:57:59.224 Some info
【问题讨论】:
-
你能展示一个未排序的
Map<LocalDateTime,String>的例子,以及同一张地图的排序版本吗? -
@Hulk 我应该在 compareTo 方法中指定什么?
-
您的示例令人困惑。您应该显示已排序和未排序的 same 映射。此外,显示哪个日期或字符串应该具有更高的优先级。您是否首先按日期排序,如果日期相同,则按字符串排序?还是先按字符串排序,如果字符串相同,再按日期排序?
-
@Sweeper 不,我只需要按日期排序
标签: java sorting java-8 java-stream java-time