J'ai un objet avec plusieurs champs. L'un des champs est un List<Object2>
.Comment récupérer un ensemble de chaînes à partir du champ de chaque élément d'une liste d'objets contenus dans un objet?
Je veux récupérer une liste (ou un ensemble parce que je n'ai pas besoin du dupliqué) de tous les noms (Object2.getName()
) des objets Object2.
J'ai essayé de le faire comme suit:
getList().stream()
.map(Object::getListObject2)
.collect(Collectors.toSet())
.stream()
.flatMap(List::stream)
.collect(Collectors.toSet());
Il retourne un Set<Object2>
, mais pas un Set/List<Object2.getName()>
.
En outre, je suis préoccupé par la complexité du flux.
Merci.
vous pouvez utiliser '.distinct(). Recueillir (Collectors.toList())' –