有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案