java Java.util.Collections.disjoint()方法及实例
java.util.Collections.disjoint() 方法存在于java.util.Collections类中。它被用来检查两个指定的集合是否是不相交的。更正式地说,如果两个集合没有共同的元素,它们就是不相交的。
语法:
public static boolean disjoint(Collection> c1, Collection> c2)
参数:
c1 – 一个集合
c2 – 一个集合
结果 :
如果两个指定的集合没有共同的元素,则为true。
抛出:
NullPointerException – 如果其中一个集合为空。
NullPointerException – 如果一个集合包含一个null元素,而null不是另一个集合的合格元素。
元素。
ClassCastException – 如果一个集合包含的元素的类型对另一个集合来说是不合格的
的类型。
请注意,允许在两个参数中传递相同的集合,在这种情况下, 如果且仅当集合为空时, 该方法将返回 true 。
// Java program to demonstrate working of
// java.utils.Collections.disjoint()
import java.util.*;
public class DisjointDemo
{
public static void main(String[] args)
{
// Let us create array list of strings
List<String> mylist1 = new ArrayList<String>();
mylist1.add("practice");
mylist1.add("code");
mylist1.add("quiz");
mylist1.add("geeksforgeeks");
// Let us create vector of strings
List<String> mylist2 = new Vector<String>();
mylist2.add("geeks");
mylist2.add("geek");
mylist2.add("for");
mylist2.add("coder");
// Let us create a vector
List mylist3 = new Vector();
mylist3.add(1);
mylist3.add("practice");
// Let us create a Set of strings
Set<String> mylist4 = new HashSet<String>();
mylist4.add("practice");
mylist4.add("code");
mylist4.add("quiz");
mylist4.add("geeksforgeeks");
// Here we are using disjoint() method to check
// whether two collections are disjoint or not
System.out.println("is mylist1 disjoint to mylist2 : " +
Collections.disjoint(mylist1, mylist2));
System.out.println("is mylist1 disjoint to mylist3 : " +
Collections.disjoint(mylist1, mylist3));
System.out.println("is mylist1 disjoint to mylist4 : " +
Collections.disjoint(mylist1, mylist4));
}
}
输出:
is mylist1 disjoint to mylist2 : true
is mylist1 disjoint to mylist3 : false
is mylist1 disjoint to mylist4 : false
如何快速检查Java中两个数组是否不相交 ?
Java中的数组类没有disjoint方法。我们可以使用Collections.disjoint()来快速检查两个数组的不相邻性。
// Java program to demonstrate disjoint
// method with arrays
import java.util.*;
public class DisjointDemo
{
public static void main(String[] args)
{
// Let us create arrays of integers
Integer arr1[] = {10, 20, 30, 40, 50};
Integer arr2[] = {60, 70, 80, 90, 100};
Integer arr3[] = {50, 70, 80, 90, 100};
Double arr4[] = {50.0, 60.0, 110.0};
// Please refer below post for details of asList()
// https://www.geeksforgeeks.org/array-class-in-java/
// Here we are using disjoint() method to check
// whether two arrays are disjoint or not
System.out.println("is arr1 disjoint to arr2 : " +
Collections.disjoint(Arrays.asList(arr1), Arrays.asList(arr2)));
System.out.println("is arr1 disjoint to arr3 : " +
Collections.disjoint(Arrays.asList(arr1), Arrays.asList(arr3)));
System.out.println("is arr1 disjoint to arr4 : " +
Collections.disjoint(Arrays.asList(arr1), Arrays.asList(arr4)));
}
}
输出:
is arr1 disjoint to arr2 : true
is arr1 disjoint to arr3 : false
is arr1 disjoint to arr4 : true
极客教程