📜  Java.util.Collections.disjoint() Java中的方法与示例

📅  最后修改于: 2022-05-13 01:55:06.832000             🧑  作者: Mango

Java.util.Collections.disjoint() Java中的方法与示例

Java.util.Collections.disjoint()方法存在于Java.util.Collections 类中。它用于检查两个指定的集合是否不相交。更正式地说,如果两个集合没有共同的元素,则它们是不相交的。

Syntax:
public static boolean disjoint(Collection c1, Collection c2)
Parameters : 
c1 - a collection
c2 - a collection
Returns :
true if the two specified collections have no elements in common.
Throws:
NullPointerException - if either collection is null.
NullPointerException - if one collection contains a null element and null is not an eligible 
element for the other collection.
ClassCastException - if one collection contains an element that is of a type which is ineligible
 for the other collection.

请注意,允许在两个参数中传递相同的集合,在这种情况下,当且仅当集合为空时,该方法才会返回 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  mylist1 = new ArrayList();
        mylist1.add("practice");
        mylist1.add("code");
        mylist1.add("quiz");
        mylist1.add("geeksforgeeks");
          
        // Let us create vector of strings
        List  mylist2 = new Vector();
        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  mylist4 = new HashSet();
        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中的数组类没有不相交的方法。我们可以使用 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