Как отсортировать карту на основе поля времени в объекте.Моя карта выглядит так:
Map<Integer, ShiftDTO> -> ShiftDTO
состоит из следующих клавиш: shiftName
, shiftStartTime
, shiftEndTime
.shiftStartTime
имеет тип 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
?