Java 8 映射到对象列表,其中一个字段分组为一个列表

2024-03-01

新手问题。我有一个来自数据库的原始 bean 逐行为

public class DataBean {
   private Integer employeeId;
   private String org;
   private String comments;
   // + Constructors, getters/setters
}

我需要将其映射到一个不同的 bean,其中多个组织按员工 ID 分组到一个列表中。对于 EmployeeID,只有 Orgs 可以是多个;注释字段保证相同。

public class CustomDataBean {
   private Integer employeeId;
   private List<String> orgs;
   private String comments;
   // + Constructors, getters/setters
}

努力开始。正想着groupingBy如下所示,但返回一个地图,并且我没有构建子列表。

Map<Integer, List<String>> temp = origData.stream().collect(
    Collectors.groupingBy(OrigBean::getEmployeeId,
    /* 2nd param? */ .. ))

我的目标是转型List<CustomDataBean>.


你可以使用这个:

List<CustomDataBean> result = origData.stream()
        .collect(Collectors.groupingBy(DataBean::getEmployeeId))
        .entrySet().stream()
        .map(e -> new CustomDataBean(
                e.getKey(),
                e.getValue().stream().map(DataBean::getOrg).collect(Collectors.toList()),
                e.getValue().get(0).getComments()))
        .collect(Collectors.toList());

这会将分组结果映射到您的CustomDataBean object.

对于输入:

List<DataBean> origData = Arrays.asList(
        new DataBean(1, "a", "c"),
        new DataBean(1, "b", "c"),
        new DataBean(1, "c", "c"),
        new DataBean(2, "a", "d"),
        new DataBean(2, "c", "d")
);

结果将是这样的:

CustomDataBean[employeeId=1, orgs=[a, b, c], comments='c']
CustomDataBean[employeeId=2, orgs=[a, c], comments='d']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 8 映射到对象列表,其中一个字段分组为一个列表 的相关文章

随机推荐

  • R:合并具有相同ID的行[重复]

    这个问题在这里已经有答案了 Edit 我将 Var4 更改为字符串值 因为我的问题对我的数据不够精确 因此由于类型无效 答案失败 对此感到抱歉 这是我的第一个问题 我希望有人可以帮助我 我有以下数据集 ID Date N Date Var1
  • 在列表中查找一个值[重复]

    这个问题在这里已经有答案了 我使用以下命令来检查是否item is in my list if item in my list print Desired item is in list Is if item in my list 在列表中
  • 与 Vuex-ORM 的两种方式数据绑定

    有谁知道使用时在表单中实现双向数据绑定的库或已经描述的模式Vuex ORM https vuex orm github io vuex orm 我找到了几个可以帮助解决 Vuex 问题的库 但还没有专门针对 Vuex ORM 的库 vuex
  • 如何在 Java 中使用 servlet 过滤器来更改传入的 servlet 请求 url?

    如何使用 servlet 过滤器更改传入的 servlet 请求 url http nm java appspot com Check License Dir My App Dir ABC My Obj 123 to http nm jav
  • 使用spring-amqp和rabbitmq实现带退避的非阻塞重试

    我正在寻找一种使用 spring amqp 和 Rabbit MQ 的退避策略来实现重试的好方法 但要求是侦听器不应被阻止 因此可以自由地处理其他消息 我在这里看到了类似的问题 但它不包括 后退 的解决方案 RabbitMQ 和 Sprin
  • Kohana 3 分页

    我真的不知道 Kohana 3 中的分页是如何工作的 Kohana 3 中是否有一个很好的分页示例 Get the total count of articles count this gt profil gt articles gt co
  • 如何检测窗口是否闪烁

    当需要吸引用户注意时 我使用 FlashWindowEx 来闪烁应用程序窗口 窗口标题和任务栏按钮持续闪烁 直到应用程序获得焦点 如何检查应用程序当前是否正在闪烁 即 自从指示其闪烁以来尚未获得焦点 这里有两种可能的解决方案 一种使用 WH
  • 使用退格键删除整个 Spannable

    我有一个聊天应用程序 可以在文本中添加表情符号 我有一个问题EditText场地 表情符号图像显示出来 但如果我按普通键盘上的退格按钮 我要更改为表情符号图片的文本就会显示出来 我必须删除几个字符 直到图片消失 我在用Spannable去做
  • Rails,每当和 docker - cron 任务不运行

    我的定时任务来自schedule rb不适用于 docker 容器 但是crontab l结果已经包含这一行 Begin Whenever generated tasks for app config schedule rb 45 19 b
  • WebStorm 中的 Velocity 语法高亮显示

    WebStorm 中有 Velocity 语法的插件 下载吗 我碰到这个帖子 http wiki apache org velocity IntelliJSyntaxHighlighting但没有目录filetypes在我的道路上 对于Ma
  • spring-kafka AckMode 中的 MANUAL 和 MANUAL_IMMEDIATE 有什么区别

    从 spring docs 中 我可以看到 MANUAL 消息监听器负责acknowledge 确认 之后 应用与 BATCH 相同的语义 手动 立即 当侦听器调用 Acknowledgment acknowledge 方法时立即提交偏移量
  • jQuery UI 显示/隐藏幻灯片效果 - 如何更改幻灯片“后退”速度

    我的页面包含许多 OL 列表 每个列表都显示精选的链接 单击每个链接时 内容会滑出到右侧 单击每个链接时 内容会滑入 然后再次滑出 这是一个小提琴 展示了这一点 http jsfiddle net juxprose xu3ck 15 htt
  • htaccess 无提示重定向到子目录:当没有尾随“/”时显示子目录

    我在 Google 和 StackOverflow 上四处搜寻 试图找出我的问题 尝试了无数的解决方案 但没有一个完全奏效 我希望将服务器上主域的 Web 根目录移动到子目录 我目前拥有的 Web 根目录的服务器路径 home user p
  • 尝试使鼠标光标在硒测试用例中可见

    我在 chromedriver 上使用 Java 中的 Selenium Webdriver 并尝试在执行测试用例时永久显示光标 我尝试过机器人和动作课 但没有成功 例如我尝试过这个 Actions builder new Actions
  • Docker 开发环境中的丰富编辑器

    所以我和我的团队已经购买了 Docker 它对于部署和测试来说非常棒 我真正的问题是如何建立良好的开发人员体验 特别是围绕编写 Python 应用程序 但这个问题可以推广到 Nodejs Java 等 问题 在编写 Python 应用程序时
  • IE 中奇怪的滚动行为,带有可滚动 div 中的复选框

    我有一个 多选 控件 如下所示 抱歉 ID 名称很长 它们是自动生成的 因为整个事情是由自定义标记生成的 div class default skin outer div class default control span class d
  • 具有自定义帖子类型和自定义分类的 WordPress 固定链接

    我有一个名为 产品 的自定义帖子类型和一个名为 product types 的产品自定义分类法 它是分层的 因此其中有子类别 我希望永久链接显示为http mysite com product type sub category postn
  • 如何在 Gulp 中使用 Browserify 丑化输出?

    我尝试在 Gulp 中丑化 Browserify 的输出 但它不起作用 gulpfile js var browserify require browserify var gulp require gulp var uglify requi
  • get_dummies(),异常:数据必须是一维的

    我有这个数据 我正在尝试应用这个 one hot pd get dummies df 但我收到这个错误 这是我到目前为止的代码 Import modules import pandas as pd import numpy as np im
  • Java 8 映射到对象列表,其中一个字段分组为一个列表

    新手问题 我有一个来自数据库的原始 bean 逐行为 public class DataBean private Integer employeeId private String org private String comments C