我有由bankId,IdentifierId和IdentifierValue组成的对象列表。对于每一家银行,我都有一个以上的identifierValue。我的要求是通过将基于bankId的List分组来创建一个映射,并将identifierValue连接到由/分隔的单个字符串中。
例如:
Bank of America, identifer-1, 123
Bank of America, identifer-2, 234
wells Forgo, identifier-1, 123
Run Code Online (Sandbox Code Playgroud)
我希望结果是下面的地图
bank of America -> 123/234
wellsForgo -> 123
Run Code Online (Sandbox Code Playgroud)
类:
public class BankIdentifier {
private String bankId;
private String identifierId;
private String identifierValue;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Java 8 Streams groupby,但是无法获得标识符值,由 /
这将根据bankId和将列表分组identifierValue到一个由/定界符分隔的字符串中。
Map<String, String> result =
items.stream().collect(
Collectors.groupingBy(BankIdentifier::getBankId,
Collectors.mapping(BankIdentifier::getIdentifierValue, Collectors.joining("/")))
);
Run Code Online (Sandbox Code Playgroud)
确保您有一个getter bankId并identifierValue使用方法引用语法。
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |