加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:42:30 所属栏目:Java 来源:网络整理
导读:这个问题在这里已经有一个答案: Java8 Lambda: concat list1 如何使用java-streams将多个List值收集到一个列表中? ListMyListService services;services.stream().XXX.collect(Collectors.toList());interface MyListService { ListMyObject getObjects();
这个问题在这里已经有一个答案:> 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());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读