У меня следующий код
Map<Long,String> timeMap= new HashMap<>();
Map<Boolean, List<Map.Entry<Long,String>>> output= timeMap.entrySet().parallelStream()
.filter(map -> map.getKey()-Instant.now().toEpochMilli()>120000)
.collect(Collectors.groupingBy(o -> o.getKey()<600000));
Я хочу, чтобы мой вывод был вложенной картой
Map<Boolean, List<Map.Entry<Long,String>>> output --> Map<Boolean, Map<Long,String>> output
Может ли кто-нибудь помочь мне написать BiFunction
для достижения этой цели.
В настоящее время я использую следующий подход для генерации вывода.
Map<Long, String> trueMap = output.get(true).stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Map<Long, String> falseMap = output.get(false).stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Map<Boolean,Map<Long,String>> booleanMapMap = new HashMap<>();
booleanMapMap.put(true,trueMap);
booleanMapMap.put(false,falseMap);