如果要判断两个集合中是否有相同的元素,则可以用jdk中自带的方法:Collections.disjoint(Collection<?> c1, Collection<?> c2)
public static boolean disjoint(Collection<?> c1, Collection<?> c2)
如果将此方法用在不符合 Collection 常规协定的 collection 上,则必须小心。实现可以在任一 collection 上进行迭代,测试元素是否包含在另一个 collection 中(或执行任何等效的计算)。如果任一 collection 使用了一个非标准的相等性测试(比如顺序不是与 equals 一致的 SortedSet
,或者 IdentityHashMap
的键集),则两个 collection 都必须使用相同的非标准相等性测试,否则此方法的结果是不确定的。
注意,允许在两个参数中传递相同的 collection,在这种情况下,当且仅当 collection 为空时此方法返回 true。
c1
- 一个 collection
c2
- 一个 collection
NullPointerException
- 如果任一 collection 为 null