Join our newsletter for the latest updates.

Java ArrayList removeAll()

The Java ArrayList removeAll() method removes all the elements from the arraylist that are also present in the specified collection.

The syntax of the removeAll() method is:

arraylist.removeAll(Collection c);

Here, arraylist is an object of the ArrayList class.


removeAll() Parameters

The removeAll() method takes a single parameter.

  • collection -all elements present in collection are deleted from the arraylist.

removeAll() Return Value

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

Example 1: Remove all elements from an ArrayList

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // create an arraylist
        ArrayList<String> languages = new ArrayList<>();

        // add elements to arraylist
        languages.add("Java");
        languages.add("JavaScript");
        languages.add("Python");
        System.out.println("Programming Languages: " + languages);

        // remove all elements from arraylist
        languages.removeAll(languages);
        System.out.println("ArrayList after removeAll(): " + languages);
    }
}

Output

Programming Languages: [Java, JavaScript, Python]
ArrayList after removeAll(): []

In the above example, we have created an arraylist named languages. The arraylist stores the name of programming languages. Notice the line,

languages.removeAll(languages);

Here, we are passing the ArrayList languages as an argument of the removeAll() method. Hence, the method removes all the elements from the arraylist.

Note: The clear() method is preferred to remove all elements from the arraylist. To know more, visit Java ArrayList clear().


Example 2: Remove all Elements from an ArrayList Present in Another ArrayList

import java.util.ArrayList;

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

        // insert element at the end of arraylist
        languages1.add("Java");
        languages1.add("English");
        languages1.add("C");
        languages1.add("Spanish");
        System.out.println("Languages1: " + languages1);

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

        // add elements to the arraylist
        languages2.add("English");
        languages2.add("Spanish");
        System.out.println("Languages2: " + languages2);

        // remove all elements of ArrayList2 from ArrayList1
        languages1.removeAll(languages2);
        System.out.println("Languages1 after removeAll(): " + languages1);
    }
}

Output

Languages1: [Java, English, C, Spanish]
Languages2: [English, Spanish]
Languages1 after removeAll(): [Java, C]

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

languages1.removeAll(languages2);

Here, the removeAll() method is used to remove all those elements from languages1 that are also present in languages2. Hence, English and Spanish are removed from languages1.


Example 3: Remove all Elements from an ArrayList Present in a 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);
        numbers.add(4);
        System.out.println("ArrayList: " + numbers);

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

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

        // remove all elements of HashSet from ArrayList
        numbers.removeAll(primeNumbers);
        System.out.println("ArrayList after removeAll(): " + numbers);
    }
}

Output

ArrayList: [1, 2, 3, 4]
HashSet: [2, 3]
ArrayList after removeAll(): [1, 4]

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

numbers.removeAll(primeNumbers);

Here, the removeAll() method removes all those elements from numbers that are also present in primeNumbers. Hence, 2 and 3 are removed from the arraylist numbers.