gpt4 book ai didi

Java 8 Lambda 列表到 Map>

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:03:02 27 4
gpt4 key购买 nike

我有一个包含以下元素的 dto 列表。 userSeqId有重复值,

private int userSeqId;
private String firstName;
private String lastName;
private String acctAgencyNumber;

我正在尝试使用 Java 8 Lambda 按“userSeqId”对 map 进行分组。

我要Map<Integer, List<String>>其中 Key 应该是 userSeqId值是 acctAgencyNumber 的列表.

当我使用

Map<Integer, List<UserBasicInfoDto>> superUserAcctMap = customerSuperUserList.stream()
.collect(Collectors.groupingBy(UserBasicInfoDto::getUserSeqId));

我得到 Map<Integer, List<UserBasicInfoDto>>其中键是 userSeqId但值是整个对象的列表。

最佳答案

有一个dedicated version of groupingBy()对于您的用例:

Map<Integer, List<String>> result = customerSuperUserList.stream()
.collect(Collectors.groupingBy(
UserBasicInfoDto::getUserSeqId,
Collectors.mapping(UserBasicInfoDto::getAcctAgencyNumber, toList())));

关键点是使用助手 mapping 收集器,使用它您可以覆盖默认的 groupingBy 行为。

关于Java 8 Lambda 列表到 Map<Int, List<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com