我正在尝试使用流将List
转换为HashMap
。这是我的代码..
attributeUnitMap = attributesList.stream()
.filter(a -> a.getAttributeUnit() != null)
.collect(Collectors.toMap(Attribute::getAttributeName, a -> a.getAttributeUnit()));
现在我想添加条件,如果我得到属性名称null,那么应该将项目添加到带有空白字符串的map中,如下所示(any_attributeName,"")。
如何使用流操作实现此目的。我知道我可以通过使用过滤条件来检查属性名称是否为null但是如果它为null则可以添加空字符串。可能吗?如果没有,为什么呢?请帮忙。
答案 0 :(得分:8)
attributeUnitMap = attributesList.stream()
.filter(a -> a.getAttributeUnit() != null)
.collect(Collectors.toMap(
a -> a.getAttributedName() == null ? "" : a.getAttributeName(),
a -> a.getAttributeUnit()))