У меня есть 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);
}