lambda中用于创建HashMap的java私有函数
我有一个包含以下信息的流:
X :{
Y :{
A :{ "key1" },
B :{"value1"}
C : {}
...
}
}
流将包含X对象的列表,其中X、Y、a、B和C属于Object类型
我想使用带有值的Java8Lambda创建一个映射
{
key1:value1
}
如果对象C不存在,则键值对不应存在
我正在尝试使用下面给出的代码来获取键列表,但无法创建键和值的映射
X.stream().map(p -> p.getAllYForX())
.filter(Optional::isPresent)
.map(Optional::get)
.filter(p -> checkifCExists(p))
.map(p -> p.getAllAForY(Y))
.filter(Optional::isPresent)
.map(Optional::get)
.map(p -> p.getKeys())
.filter(StringUtils:isNotBlank)
.collect(Collectors.toList());
功能定义如下:
getAllYForX()返回可选的
如果块中存在C,则checkIfCExists()返回布尔值
getAllAForY()是一个私有函数,返回可选的
getAllBForY()是一个私有函数,返回可选的
A.getKeys返回字符串。例如:“key1”
B.getValue返回字符串。例如:“value1”
共 (0) 个答案