Java ArrayList containsAll()

containsAll()方法的语法是:

arraylist.containsAll(Collection c);

在这里,arraylist对象ArrayList 类的一个 对象


containsAll() 参数

containsAll()方法接受一个参数。

  • collection - 检查collection中的所有元素是否存在于arraylist中。

containsAll()返回值

  • 如果arraylist包含collection的所有元素,则返回true
  • 如果arraylist中的元素类与指定collection中的元素类不兼容,则抛出ClassCastException
  • 如果collection包含null元素而arraylist不允许null值,则抛出NullPointerException

注意:我们可以说containsAll()方法检查collection是否是arraylist的子集。


示例1:Java ArrayList containsAll()

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<String> languages1 = new ArrayList<>();

        // insert element to the ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1: " + languages1);

        // create another ArrayList
        ArrayList<String> languages2 = new ArrayList<>();

        // add elements to ArrayList
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);

        // check if ArrayList 1 contains ArrayList 2
        boolean result1 = languages1.containsAll(languages2);
        System.out.println("ArrayList 1 contains all elements of ArrayList 2: " + result1);

        // check if ArrayList 2 contains ArrayList 1
        boolean result2 = languages2.containsAll(languages1);
        System.out.println("ArrayList 2 contains all elements of ArrayList 1: " + result2);
    }
}

输出

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [Java, Python]
ArrayList 1 contains all elements of ArrayList 2: true
ArrayList 2 contains all elements of ArrayList 1: false

在上面的示例中,我们创建了两个名为languages1languages2的arraylist。请注意表达式,

// return true
languages1.containsAll(languages2)

在这里,containsAll()方法检查languages1是否包含languages2的所有元素。因此,该方法返回true。但是,请注意以下表达式,

// return false
languages2.containsAll(languages1)

在这里,containsAll()方法检查languages2是否包含languages1的所有元素。因此,它返回false

注意containsAll()方法并非ArrayList类特有的。该类继承自List接口


示例2:Java ArrayList和HashSet之间的containsAll()

import java.util.ArrayList;
import java.util.HashSet;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();

        // add element to ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);

        // create a HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();

        // add elements to HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        System.out.println("HashSet: " + primeNumbers);

        // check if ArrayList contains all elements of HashSet
        boolean result1 = numbers.containsAll(primeNumbers);
        System.out.println("ArrayList contains all elements of HashSet: " + result1);

        // check if HashSet contains all elements of ArrayList
        boolean result2 = primeNumbers.containsAll(numbers);
        System.out.println("HashSet contains all elements of ArrayList: " + result2);
    }
}

输出

ArrayList: [1, 2, 3]
HashSet: [2, 3]
ArrayList contains all elements of HashSet: true
HashSet contains all elements of ArrayList: false

在上面的示例中,我们创建了一个名为numbers的arraylist和一个名为primeNumbers的hashset。请注意表达式,

// check if ArrayList contains HashSet
// return true
numbers.containsAll(primeNumbers)

// check if HashSet contains ArrayList
// return false
primeNumbers.containsAll(numbers)

注意:我们可以使用Java ArrayList retainAll()方法来获取ArrayListHashSet之间的共同元素。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战