找出A hashmap整数值是否包含(value> = 25)

时间:2015-04-16 20:51:48

标签: java hashmap boolean

所以我有一个HashMap,我的值在for循环中迭代。在for循环中,我使用if语句来确定地图是否包含25或更高的值。但是我在Java中找不到合适的语法。我的代码如下所示:

for(int i = 0; i < podMap.size(); i++)
{
    Integer j = 25;

    if(podMap.values().contains(j>=25)) // this doesn't work,
                                        // but it's essentially what I want.
    {
        return true;
    }
}
return false;

任何帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:6)

直接迭代值:

for (Integer v : podMap.values()) {
    if (v >= 25) {
        return true;
    }
}
return false;

或者,在Java 8中,您可以使用anyMatch()

return podMap.values().stream().anyMatch(v -> v >= 25);

答案 1 :(得分:1)

Java 8支持lambda表达式:

podMap.values().stream().anyMatch(v -> v >= 25);

答案 2 :(得分:0)

问题是你实际上没有在你的地图上迭代......你可能想要这样的东西:

for(int i = 0; i < podMap.size(); i++)
{
    if(podMap.get(i)>=25))
    {
        return true;
    }
}
return false;