Join our newsletter for the latest updates.

Java ArrayList containsAll()

The Java ArrayList containsAll() method checks whether the arraylist contains all the elements of the specified collection.

The syntax of the containsAll() method is:

arraylist.containsAll(Collection c);

Here, arraylist is an object of the ArrayList class.


containsAll() Parameters

The containsAll() method takes a single parameter.

  • collection - checks if all elements of collection are present in the arraylist.

containsAll() Return Value

  • returns true if the arraylist contains all elements of collection
  • throws ClassCastException if the class of elements present in arraylist is incompatible with the class of elements in the specified collection
  • throws NullPointerException if collection contains null elements and the arraylist does not allow null values

Note: We can say that the containsAll() method checks if the collection is a subset of the arraylist.


Example 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);
    }
}

Output

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

In the above example, we have created two arraylists named languages1 and languages2. Notice the expression,

// return true
languages1.containsAll(languages2)

Here, the containsAll() method checks if languages1 contains all elements of languages2. Hence, the method returns true. However, notice the following expression,

// return false
languages2.containsAll(languages1)

Here, the containsAll() method checks if languages2 contains all elements of languages1. Hence, it returns false.

Note: The containsAll() method is not specific to the ArrayList class. The class inherits from the List interface.


Example 2: containsAll() Between Java ArrayList and HashSet

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);
    }
}

Output

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

In the above example, we have created an arraylist named numbers and a hashset named primeNumbers. Notice the expressions,

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

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

Note: We can get the common elements between ArrayList and HashSet using the Java ArrayList retainAll() method.