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

Java Stream.collect groupingBy 和聚合类

Java Stream.collect groupingBy 和聚合类

qq_遁去的一_1 2021-12-22 15:57:37
这段代码很简单:Map<String, List<BlogPost>> postsPerType = posts.stream()  .collect(groupingBy(BlogPost::getType));BlogPost 在哪里:class BlogPost {    String title;    String author;    String type;    int likes;    // getter setter}如果 BlogPost 有一些其他类作为字段,我想按这些字段之一进行分组,例如class BlogPost {    String title;    String author;    Description description;    int likes;    // getter setter}class Description {    String part1;    String type;    // getter setter}我如何访问说myBlogPost.getDescription().getType()在 lambda 表达式中?伪代码:Map<String, List<BlogPost>> postsPerType = posts.stream()      .collect(groupingBy(BlogPost::getDescription::getType));编辑:groupingBy 指的是:import static java.util.stream.Collectors.groupingBy;
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

只需创建一个返回该表达式的 lambda:

groupingBy(p -> p.getDescription().getType())


查看完整回答
反对 回复 2021-12-22
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

Map<String, List<BlogPost>> postsPerType = posts.stream()

  .collect(groupingBy(bp -> bp.getDescription().getType()));


查看完整回答
反对 回复 2021-12-22
  • 2 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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