为了账号安全,请及时绑定邮箱和手机立即绑定

Java 8 Streams 哈希图

Java 8 Streams 哈希图

12345678_0001 2021-09-12 15:37:04
我需要使用 Java 8 流执行哈希图迭代。我需要遍历一个哈希图。检查特定键(“new”)是否没有空值或空值,将该值复制到字符串类型的变量(字符串 val1)。然后再次检查 ex:"old" 的另一个键,然后将该值复制到 string 类型的变量 (String val2) 并调用 main 方法,我需要发送这两个值 (val1, val2)。这必须在 hashmap 迭代中完成。你能帮我解决这个问题吗?编码:map1.entrySet()    .stream()    .filter(s -> {         if (s.getKey().contains("abc") && !s.getValue().equals("") && s.getValue()!=null) {            String val1 = s.getValue;            if (s.getKey().contains("bb")) {                String val2 = s.getValue(); //call the function                callFunction(val1,val2);            }        }        else {        }     });
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

试试这个:

yourMap.entrySet().stream()

从这一点上,您可以管理。Stream 由 组成,Entry<Key,Value>因此您可以检查任何您想要的内容。


查看完整回答
反对 回复 2021-09-12
?
白板的微信

TA贡献1883条经验 获得超3个赞

你需要寻找特定的键:new和old这样你就不会需要遍历地图的入口,因为如果存在密钥,他们将是唯一的。


获取特定键的值,如果它们不存在,则保持为空 String

用这些值做你的事

Map<String, String> map1 = ...;

String v1 = map1.getOrDefault("new", "");

String v2 = map1.getOrDefault("old", "");

Map<String, String> map2 = new HashMap<>();

if(!v1.isEmpty() && !v2.isEmpty() && validateMethod(v1, v2)){    

    // do your stuff

}

您可能会将 isEmpty 的检查放在您的validateMethod而不是 if 中


查看完整回答
反对 回复 2021-09-12
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

需要使用 Java 8 完成


for(Map.Entry e : map1.entrySet()) {

                if(e.containsKey("new")&& !e.getValue().equals("")){

                    String val1 = (String) e.getValue();


                    if(e.containsKey("old")&& !e.getValue().equals("")){

                        String val2 = (String) e.getValue();


                        //call the function-- This is boolean

                        if(validateMethod(val1, val2)){ // if true

                            Map<String, String> map2 = new HashMap<>();


                            map2.putAll(e);


                        }


                    }

                }

            }


查看完整回答
反对 回复 2021-09-12
  • 3 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信