gpt4 book ai didi

java - java中根据条件使用流操作将List转换为Map

转载 作者:行者123 更新时间:2023-12-03 01:43:00 30 4
gpt4 key购买 nike

我正在尝试使用流将List转换为HashMap。这是我的代码..

attributeUnitMap = attributesList.stream()
.filter(a -> a.getAttributeUnit() != null)
.collect(Collectors.toMap(Attribute::getAttributeName, a -> a.getAttributeUnit()));

现在我想添加条件,如果我得到属性名称为空,则应将项目添加到带有空白字符串的映射,如下所示(any_attributeName,“”)。

如何使用流操作来实现这一点。我知道我可以使用过滤条件检查属性名称是否为空,但如果它为空,我可以添加空白字符串吗?是否可以?如果不是,为什么会这样?请帮忙。

最佳答案

attributeUnitMap = attributesList.stream()
.filter(a -> a.getAttributeUnit() != null)
.collect(Collectors.toMap(
a -> a.getAttributedName() == null ? "" : a.getAttributeName(),
a -> a.getAttributeUnit()))

关于java - java中根据条件使用流操作将List转换为Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454547/

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