Я хочу преобразовать внутреннюю карту из карты карт.
Старая карта: Map<String, Map<LocalDate, Integer>>
Целое число означает секунды
Новая карта: Map<String, Map<LocalDate, Duration>>
Я попытался создать новую внутреннюю карту, но получил ошибку
Ошибка: java: не найдено подходящего метода для
putAll(java.util.stream.Stream<java.lang.Object>)
методjava.util.Map.putAll(java.util.Map<? extends java.time.LocalDate,? extends java.time.Duration>)
не применим
oldMap.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey,
e -> new HashMap<LocalDate, Duration>() {{
putAll(
e.getValue().entrySet().stream()
.map(x -> new HashMap.SimpleEntry<LocalDate, Duration>
(x.getKey(), Duration.ofSeconds(x.getValue())))
);
}}
));