【发布时间】:2019-10-02 14:44:02
【问题描述】:
我有一个 List<A> 类型的列表,并且通过 map 操作获得了一个 List<B> 类型的集合列表,用于合并到一个列表中的所有 A 元素。
List<A> listofA = [A1, A2, A3, A4, A5, ...]
List<B> listofB = listofA.stream()
.map(a -> repo.getListofB(a))
.flatMap(Collection::stream)
.collect(Collectors.toList());
没有平面图
List<List<B>> listOflistofB = listofA.stream()
.map(a -> repo.getListofB(a))
.collect(Collectors.toList());
我想将结果收集为Map<A, List<B>> 类型的地图,到目前为止,我尝试了各种Collectors.toMap 或Collectors.groupingBy 选项,但无法获得所需的结果。
【问题讨论】:
-
您是否在您的
List<A>中重复了A元素?
标签: java lambda java-8 java-stream collectors