所以我有一个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;
任何帮助将不胜感激。谢谢。
答案 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;