次の状況があります
Map<Key, ListContainer> map;
public class ListContainer{
List<AClass> lst;
}
lst
マップのListContainer
オブジェクトのすべてのリストMap
をマージする必要があります。
public static void main(String args[]){
List<AClass> alltheObjectsAClass = map.values().stream(). // continue....
}
どのような方法で、Java 8ストリームAPIを使用していますか?
flatMap()
はあなたが探しているものだと思います。
例えば:
List<AClass> allTheObjects = map.values()
.stream()
.flatMap(listContainer -> listContainer.lst.stream())
.collect(Collectors.toList());
代替:Stream.concat()
Stream.concat(map.values().stream(), listContainer.lst.stream())
.collect(Collectors.toList()