像 Java 集的“包含任何”这样的东西?Stream::anyMatch

2022-08-31 04:47:09

我有两组,A和B,同一类型。

我必须找到A是否包含集合B中的任何元素。

在不迭代集合的情况下做到这一点的最佳方法是什么?Set 库具有 和 ,但没有 。contains(object)containsAll(collection)containsAny(collection)


答案 1

Collections.dischaint(A, B)难道不起作用吗?从文档中:

如果两个指定的集合没有共同的元素,则返回。true

因此,如果集合包含任何公共元素,则该方法将返回。false


答案 2

Stream::anyMatch

从Java 8开始,你可以使用Stream::anyMatch

setA.stream().anyMatch(setB::contains)

推荐