【问题标题】:based on common attribute in a List<Object> create a Map<Id, string> in java基于 List<Object> 中的公共属性在 java 中创建 Map<Id, string>
【发布时间】:2023-01-04 21:55:34
【问题描述】:

我有一个对象列表,其中一个属性对于我想用 Map<Key, List> 创建地图的几个常见对象是常见的

public class SalaryMapper{
    int personId;
    String salaryId;
    String department;
}

我有 List&lt;SalaryMapper&gt;,其中 department 在许多对象中都很常见。 我想要这样的结果:

Map<department,List<SalaryMapper>>

【问题讨论】:

  • 你忘了包括你解决这个问题的尝试。
  • 你尝试了什么?您是否看过 Java 流 API 中的分组收集器?

标签: java java-8


【解决方案1】:

假设您有一个 SalaryMapper 的列表,您可以使用 Stream API 执行简单的分组:

List<SalaryMapper> list = ...

Map<String, List<SalaryMapper>> map = list
        .stream()
        .collect(Collectors.groupingBy(SalaryMapper::getDepartment));

SalaryMapperdepartmentMap 的键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 2018-09-22
    相关资源
    最近更新 更多