Adriano:
Eu tenho POJO objeto plano:
class FamilyInformation {
String house;
String familyMember;
}
com dados como este:
[{
house: "houseName1",
familyMember: "Son"
},
{
house: "houseName1",
familyMember: "Mom"
},
{
house: "houseName1",
familyMember: "Dad"
}]
E eu quero convertê-lo em POJO objeto hierárquica:
class House {
String houseName;
List<FamilyMember> familyMembers;
}
class FamilyMember {
String familyMember;
}
Toda informação que eu encontrei é para convertê-lo em um mapa. Mas eu quero ter List<House>
que contém List<FamilyMember>
todas as idéias que eu deveria fazer?
Hadi J:
Tente este
Map<String,List<FamilyMember>> map = list
.stream()
.collect(
Collectors.groupingBy(
FamilyInformation::getHouseName,
Collectors.mapping(
family -> new FamilyMember(family.getFamilyMember()),
Collectors.toList()
)
)
);
e depois
List<House> result = map.entrySet()
.stream()
.map(e -> new House(e.getKey(), e.getValue()))
.collect(Collectors.toList());