Метод removeIf() класса ArrayList в Java

Java ArrayList Java ArrayList

Метод removeIf() используется для удаления всех элементов массива, удовлетворяющих определённому условию.

Синтаксис метода removeIf():

arraylist.removeIf(Predicate<E> filter)

Примечание:arraylist — это объект класса ArrayList.

Описание параметров:

  • filter — фильтр, определяющий, следует ли удалять элемент.

Возвращаемое значение

Возвращает true, если элемент был удалён.

Пример

Следующий пример демонстрирует использование метода removeIf():

Пример

import java.util.*;

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

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");

        System.out.println("ArrayList : " + sites);

        // Удалить элементы, имя которых содержит Tao
        sites.removeIf(e -> e.contains("Tao"));;
        System.out.println("ArrayList after removal: " + sites);
    }
}

Вывод вышеприведённой программы:

ArrayList : [Google, Example, Taobao]
删除后的 ArrayList: [Google, Example]

В приведённом выше примере мы использовалиметод contains() класса String в Java, чтобы проверить, содержит ли элемент "Tao".

e -> e.contains("land")Возвращает true, если элемент содержит "land".

removeIf()Еслиe -> e.contains("land")возвращает true, элемент удаляется.

Удалить чётные элементы:

Пример

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // Создать массив
        ArrayList<Integer> numbers = new ArrayList<>();

        // Вставить элементы в массив
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        System.out.println("Numbers: " + numbers);

        // Удалить все чётные элементы
        numbers.removeIf(e -> (e % 2) == 0);;
        System.out.println("Нечётные числа: " + numbers);
    }
}

Вывод вышеприведённой программы:

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

В приведённом выше примере мы создали динамический массив с именем numbers.

Обратите внимание на выражение:

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

e -> (e % 2) == 0)— это лямбда-выражение (анонимная функция). Оно проверяет, делится ли элемент на 2.

Чтобы узнать больше об анонимных функциях, посетитеЛямбда-выражения в Java。

removeIf()Если методe -> (e % 2) == 0возвращает true, то элемент удаляется.

Java ArrayList Java ArrayList

Другие расширения