J'ai la situation suivante
Map<Key, ListContainer> map;
public class ListContainer{
List<AClass> lst;
}
Je dois fusionner toutes les listes lst
des objets ListContainer
d'une carte Map
.
public static void main(String args[]){
List<AClass> alltheObjectsAClass = map.values().stream(). // continue....
}
Avez-vous une idée de comment utiliser Java 8 API de flux)?
Je pense que flatMap()
est ce que vous cherchez.
Par exemple:
List<AClass> allTheObjects = map.values()
.stream()
.flatMap(listContainer -> listContainer.lst.stream())
.collect(Collectors.toList());
Alternative: Stream.concat ()
Stream.concat(map.values().stream(), listContainer.lst.stream())
.collect(Collectors.toList()