小编Pre*_*ium的帖子

为什么.filter无法从我的Map <String,Object>中删除空值

我正在尝试从我的LinkedHashMap中过滤出不必要的null值。但是,实际上并没有删除这些值。

变量声明

Map<String,Object> dataDictionary = new LinkedHashMap<>();
Run Code Online (Sandbox Code Playgroud)

使用filter方法后,在sysout.print(dataDictionary)返回的内容的一小部分。

[industryCodes=<null>,regionCodes=<null>,andKeywords=false,id= 
<null>,resultsPerPage=20,keywords=<null>,omitKeywords=<null>}
Run Code Online (Sandbox Code Playgroud)

Java代码

dataDictionary= dataDictionary.entrySet()
            .stream()
            .filter(entry -> entry.getValue()!=null)
            .collect(Collectors.toMap(Map.Entry::getKey,
                            Map.Entry::getValue));
Run Code Online (Sandbox Code Playgroud)

期望空值及其键将被删除,但这似乎没有发生。

java linkedhashmap java-8 java-stream

2
推荐指数
1
解决办法
121
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1

linkedhashmap ×1