Join our newsletter for the latest updates.

Java ArrayList removeIf()

The Java ArrayList removeIf() method removes all elements from the arraylist that satisfy the specified condition.

The syntax of the removeIf() method is:

arraylist.removeIf(Predicate<E> filter)

Here, arraylist is an object of the ArrayList class.


removeIf() Parameters

The removeIf() method takes a single parameter.

  • filter - decides whether an element is to be removed

removeIf() Return Value

  • returns true if an element is removed from the arraylist.

Example: Remove Even Numbers From ArrayList

import java.util.ArrayList;

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

        // add elements to the ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        System.out.println("Numbers: " + numbers);

        // remove all even numbers
        numbers.removeIf(e -> (e % 2) == 0);;
        System.out.println("Odd Numbers: " + numbers);
    }
}

Output

Numbers: [1, 2, 3, 4, 5, 6]
Odd Numbers: [1, 3, 5]

In the above example, we have created an arraylist named numbers. Notice the line,

numbers.removeIf(e -> (e % 2) == 0);

Here,

  • e -> (e % 2) == 0) is a lambda expression. It checks if an element is divided by 2. To learn more, visit Java Lambda Expression.
  • removeIf() - Remove the element if e -> (e % 2) == 0 returns true.

Example 2: Remove Countries With "land" in Name

import java.util.ArrayList;

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

        // add elements to the ArrayList
        countries.add("Iceland");
        countries.add("America");
        countries.add("Ireland");
        countries.add("Canada");
        countries.add("Greenland");
        System.out.println("Countries: " + countries);

        // remove all even countries
        countries.removeIf(e -> e.contains("land"));;
        System.out.println("Countries without land: " + countries);
    }
}

Output

Countries: [Iceland, America, Ireland, Canada, Greenland]
Countries without land: [America, Canada]

In the above example, we have used the Java String contains() method to check if the element contains land in it. Here,

  • e -> e.contains("land") - returns true if the element contains land in it
  • removeIf() - removes the element if e -> e.contains("land") returns true.