如何使用java-stream将多个列表收集到一个列表?

前端之家收集整理的这篇文章主要介绍了如何使用java-stream将多个列表收集到一个列表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> Java8 Lambda: concat list1
如何使用java-streams将多个List值收集到一个列表中?
List<MyListService> services;

services.stream().XXX.collect(Collectors.toList());


interface MyListService {
   List<MyObject> getObjects();
}

因为我完全控制了这个接口:或者我应该改变方法来返回一个Array而不是一个List?

解决方法

您可以使用flatMap收集包含在MyListService实例中的列表:
List<MyObject> list = services.stream()
                              .flatMap(s -> s.getObjects().stream())
                              .collect(Collectors.toList());

猜你在找的Java相关文章