gpt4 book ai didi

Java 8 Stream 分组依据并使用分隔符连接字符串

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:24 28 4
gpt4 key购买 nike

我有一个对象列表,其中包含 bankId、IdentifierId 和 IdentifierValue。对于每一家银行,我都有一个以上的标识符值。我的要求是通过基于 bankId 对列表进行分组来创建一个映射,并将 identifierValue 连接成一个由/分隔的字符串。

例如:

Bank of America, identifer-1,  123
Bank of America, identifer-2, 234
wells Forgo, identifier-1, 123

我希望结果是如下图

bank of America -> 123/234
wellsForgo -> 123

类:

public class BankIdentifier {
private String bankId;
private String identifierId;
private String identifierValue;
}

我正在使用 Java 8 Streams groupby,但我无法获得由 / 分隔的标识符值

最佳答案

这将根据 bankIdidentifierValue 对列表进行分组,并将其累积到由 / 分隔符分隔的单个字符串中。

Map<String, String> result =
items.stream().collect(
Collectors.groupingBy(BankIdentifier::getBankId,
Collectors.mapping(BankIdentifier::getIdentifierValue, Collectors.joining("/")))
);

确保您有 bankIdidentifierValue 的 getter,以便使用方法引用语法。

关于Java 8 Stream 分组依据并使用分隔符连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47065001/

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