Collections.disjoint方法用于判断两个集合是否无交集,若无共同元素则返回true。该方法属于java.util.Collections类,接受两个Collection类型参数。示例中list1与list2无交集返回true,list1与list3有共同元素"c"返回false。支持List、Set等集合类型,含null元素时需注意比较规则,时间复杂度受集合实现影响,空集合视为无交集。

在Java中,Collections.disjoint 方法用于判断两个集合是否有交集。如果两个集合没有共同元素,即为“无交集”,该方法返回 true;否则返回 false。
方法定义
public static boolean disjoint(Collection> c1, Collection> c2)该方法属于 java.util.Collections 工具类,接受两个集合参数,比较它们是否存在公共元素。
使用示例
以下是一个简单的例子,演示如何使用 disjoint 判断两个集合是否无交集:
ListList
List
boolean result1 = Collections.disjoint(list1, list2);
System.out.println(result1); // 输出 true(无交集)
boolean result2 = Collections.disjoint(list1, list3);
System.out.println(result2); // 输出 false(有交集元素 "c")
注意事项与细节
使用 Collections.disjoint 时需注意以下几点:
立即学习“Java免费学习笔记(深入)”;
- 传入的集合可以是任意实现 Collection 接口的类型,如 List、Set、Queue 等。
- 如果任一集合包含 null 元素,只要另一个集合也包含 null,就会被视为相同元素,导致返回 false。
- 该方法的时间复杂度取决于集合的类型。若其中一个集合是 HashSet 或 LinkedHashSet 这类查找时间接近 O(1) 的结构,效率较高;若都是 ArrayList,则可能达到 O(m×n)。
- 空集合与其他集合之间视为无交集,返回 true。
基本上就这些。合理使用 Collections.disjoint 可以简化集合关系判断逻辑,代码更清晰简洁。










