美文网首页
java Map删除值为null的元素 lamada表达式一行代

java Map删除值为null的元素 lamada表达式一行代

作者: 思议岁月 | 来源:发表于2020-05-26 14:35 被阅读0次

    由于map在使用foreach循环中删除元素的话会报空指针异常,只能采用迭代器的方式删除元素,写好代码后编译器竟然意外的提示我将代码改成lamada表达式,瞬间代码精简,idea牛逼!map.entrySet().removeIf(entry -> entry.getValue() == null);
    普通删除map空值

    Map<String, String> params=new HashMap<>();
            params.put("ccc","null");
            params.put("bbb","");
            params.put("aaa",null);
            params.put("ggg",null);
            Iterator<Map.Entry<String, String>> it = params.entrySet().iterator();
            while(it.hasNext()){
                Map.Entry<String, String> entry = it.next();
                if(entry.getValue() == null)
                    it.remove();//使用迭代器的remove()方法删除元素  
            }
    
    idea给出提示 image.png

    修改后的代码,瞬间清爽了!真一行搞定

    Map<String, String> params=new HashMap<>();
            params.put("ccc","null");
            params.put("bbb","");
            params.put("aaa",null);
            params.put("ggg",null);        
            params.entrySet().removeIf(entry -> entry.getValue() == null);
    

    运行结果


    image.png

    相关文章

      网友评论

          本文标题:java Map删除值为null的元素 lamada表达式一行代

          本文链接:https://www.haomeiwen.com/subject/srzmahtx.html