Java 查找映射是否包含集合中的值

Java 查找映射是否包含集合中的值,java,java-8,Java,Java 8,我想看看我的集合中是否有任何值用作映射中的键 我可以做到: Set<String> foo; for (String val: foo) { if (map.containsKey(val)) { contains = true; break } } 设置foo; for(字符串val:foo){ if(地图容器(val)){ 包含=真; 打破 } } 有更酷的吗 boolean contains = foo.stream()

我想看看我的集合中是否有任何值用作映射中的键

我可以做到:

Set<String> foo;
for (String val: foo) {
    if (map.containsKey(val)) {
        contains = true;
        break
    }
}
设置foo;
for(字符串val:foo){
if(地图容器(val)){
包含=真;
打破
}
}
有更酷的吗

boolean contains = foo.stream()
                      .anyMatch(map::containsKey);

不确定那是否更酷

什么版本的Java?@JeffScottBrown看看标签
boolean contains=!Collections.disjoint(foo,map.keySet())
radical@Michael尽可能激进!是的,在你的评论之后感觉很奇怪很多人在我的评论之后感觉很奇怪。除了
containsAll
之外,
Collection
界面中的
containsAny
方法是唯一更酷的方法。不知道为什么它不存在…