首页 > 解决方案 > 如果哈希图过滤器收集器java 8中的条件为真,请执行某些操作

问题描述

我有地图,其中键是字符串,值是 Employee 对象。它看起来像 Map,我是 Java 8 的新手,处于学习阶段

Map<String, Employee> cond_Map = new LinkedHashMap<String, Employee>();

if(Obj.getEmp == null){
    cond_Map.forEach((key, value) -> {
        if(key == "one"){
            Obj.setEmp(value);
        }
    });
}

我尝试使用过滤器将其制作成单行且简单,

cond_Map.entrySet().stream().filter(key -> Python3Parser.If_stmtContext.class.isInstance(key.getKey())).collect(???);

但它不会工作..!有人有想法吗?谢谢你。

标签: javajava-8hashmap

解决方案


您无需遍历地图即可找到具有匹配键的条目。按键查找条目是地图的工作:

if(Obj.getEmp == null && cond_Map.containsKey("one")){
    Obj.setEmp(cond_Map.get("one"));
}

推荐阅读