为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据日期对对象地图进行排序

如何根据日期对对象地图进行排序

12345678_0001 2021-11-03 14:56:43
如何根据对象中的时间字段对地图进行排序。我的地图看起来像: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并将此比较器传递给其构造函数。


查看完整回答
反对 回复 2021-11-03
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信