如何根据对象中的时间字段对地图进行排序。我的地图看起来像:Map<Integer, ShiftDTO> -> ShiftDTO由以下键组成:shiftName, shiftStartTime, shiftEndTime。shiftStartTime是 type Date,我想根据日期升序排序。以下代码我用来根据地图键进行排序:LinkedHashMap<Integer, ShiftDTO> sortedMap = new LinkedHashMap<Integer, ShiftDTO>(); v.getShiftHashMap().entrySet().stream().sorted(Map.Entry.comparingByKey()) .forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue()));但是如何根据 对所有班次条目进行排序shiftStartTime?
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
您只需要更改sorted
方法中的比较器。您可以使用以下比较器:
(entry1, entry2) -> entry1.getValue().shiftStartTime.compareTo(entry2.getValue().shiftStartTime)
或者,您可以TreeMap
在创建地图时使用 a并将此比较器传递给其构造函数。
添加回答
举报
0/150
提交
取消