user1298426:
Je entité de réponse qui a des valeurs comme celui-ci
question answer
1 x
2 y
3 z
4 p
1 x
2 q
3 r
J'ai besoin d'obtenir des réponses aux questions par groupe
Map<Integer, List<String>>
<1, [x,x]
2, [y,p]
3, [z,r]
4, [p]>
Je pourrais obtenir List<Answer>
comme ça
Map<Integer, List<Answer>> collect = answers
.stream()
.collect(Collectors.groupingBy(Answer::getQuestion));
mais je ne peux pas trouver un moyen de l' obtenir comme List<String>
plutôt que List<Answer>
?
Eugène :
Map<Integer, List<String>> collect = answers
.stream()
.collect(Collectors.groupingBy(
Answer::getQuestion,
Collectors.mapping(Answer::getAnswerAsString, Collectors.toList())
));
il suffit de remplacer getAnswerAsString
avec la méthode que vous avez que vous obtient cette chaîne de Answer
.