Java 如何识别HashMap中哪个值为true,然后对其进行处理?

Java 如何识别HashMap中哪个值为true,然后对其进行处理?,java,lambda,Java,Lambda,我用Java编写了一个lambda表达式,它从LinkedHashMap获取键和值(键和值都是自定义对象)。Lambda表达式接受键(包含字符串名称)和值(是一个条件,win、loose或draw,类型为enum),然后将键和值与预设条件(win、loose或draw,类型为enum)进行比较。如果该值与预设条件相同,则返回布尔值true,否则返回false `for (Wedstrijd wedstrijd : wedstrijden) wedstrijd.getVoorspelli

我用Java编写了一个lambda表达式,它从LinkedHashMap获取键和值(键和值都是自定义对象)。Lambda表达式接受键(包含字符串名称)和值(是一个条件,win、loose或draw,类型为enum),然后将键和值与预设条件(win、loose或draw,类型为enum)进行比较。如果该值与预设条件相同,则返回布尔值true,否则返回false

`for (Wedstrijd wedstrijd : wedstrijden)    

wedstrijd.getVoorspelling()
                        .forEach((key, value) -> System.out.println("User: " + key + " guessed " + value.equals(wedstrijd.getUitslag())));
它按照我希望的方式工作并返回,例如(控制台输出):

现在我想给用户打分,如果他们猜对了。如果布尔值为真。每次运行for-each循环时都需要这样做。 我一整天都在做这件事,我想不出一个办法。 通过使用我早些时候写的lambda,这可能吗?或者我需要为此建立一个单独的方法吗?如果是的话,我会怎么做

wedstrijd.getVoorspelling()
    .forEach((key, value) -> {
        boolean matches = value.equals(wedstrijd.getUitslag();
        System.out.printf("User: %s guessed %s%n", key, matches));
        if (matches) {
            ... give points
        }
     });

我认为问题源于新的语法变体。除了
System.println(…)
之外,还可以添加
{…}

您可以执行以下操作

wedstrijd.getVoorspelling()
                        .forEach((key, value) -> {
     many statements as mentioned above
}));


样本数据和预期结果是什么?我没有样本数据。我想要的是将点添加到对象中设置的整数中。最终静态整型得分=0;是整数的基值,对于用户的每个正确猜测,属于该用户的分数的特定实例需要额外获得3分。您的lambda中可以有一个代码块吗<代码>(键,值)->{many statements}但是我在添加唯一键时遇到问题。如果我为每个循环做一个循环,就像这样
public void addPoints(){for(Wedstrijd-Wedstrijd:wedstrijden){Wedstrijd.getVoorspelling().forEach((键,值)->{boolean matches=value.equals(Wedstrijd.getuitslank());if(matches){for(Deelnemer Deelnemer Deelnemer:Deelnemer){Deelnemer.setScore(Deelnemer.getScore()+3);System.out.println(deelnemer.getScore());}
我只是将分数添加到每个用户。
wedstrijd.getVoorspelling()
                        .forEach((key, value) -> {
     many statements as mentioned above
}));
wedstrijd.getVoorspelling()
                        .forEach((key, value) -> anotherMethod(key,value)        
));

anotherMethod(key,value){
   logic here
}