为了账号安全,请及时绑定邮箱和手机立即绑定

Java 8 lamada Stream: 如何获取属性的子属性集合

Java 8 lamada Stream: 如何获取属性的子属性集合

慕田峪4524236 2018-07-20 14:23:24
是这样的,有一个订单列表List里面的order中包含若干的 goods ,现在想获取订单列表中,所有goods的id,model结构大致如下:class order{int id,List goodsList;}class goods{int id;String name;}List list....这样可以得到订单的id列表,现在的问题是怎么获取 list 所有 订单下面商品集合的列表,list.stream().map(c->c.getId()).collect(Collectors.toList())。。。。。。下面写法貌似不对list.stream().map(c->c.getGoodsList().stream().map(q->q.getId())).collect(Collectors.toList());
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

 list.stream()
.flatMap(x->x.getGoodsList()
.stream()).map(x->x.getId()).collect(Collectors.toList());


查看完整回答
反对 回复 2018-07-26
?
森栏

TA贡献1810条经验 获得超5个赞

 list.stream().flatMap(goodlist->goodlist.getGoodsList().stream()).map(g->g.getId()).collect(Collectors.toList());

用flatMap


查看完整回答
反对 回复 2018-07-26
  • 2 回答
  • 0 关注
  • 1915 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号