У меня есть List<Person> где Person выглядит следующим образом.
class Person {
String personId;
LocalDate date;
String type;
// getters & setters
}
Я пытаюсь преобразовать это в List<Person> в Map<String, Map<LocalDate,List<Person>>> где внешний ключ карты - это personId а внутренний ключ карты - date и я не мог понять, как достичь этого, До сих пор пробовали что-то вроде ниже. Открытые для Java 8 решения.
Map<String,Map<LocalDate,List<Person>>> outerMap = new HashMap<>();
Map<LocalDate,List<Person>> innerMap = new HashMap<>();
for(Person p : list) {
List<Person> innerList = new ArrayList<>();
innerList.add(p);
innerMap.put(p.getDate(), innerList);
outerMap.put(p.getPersonId(), innerMap);
}