Java ArrayList removeIf() 方法

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("Runoob");
        sites.add("Taobao");

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

        // 删除名称中带有 Tao 的元素
        sites.removeIf(e -> e.contains("Tao"));;
        System.out.println("删除后的 ArrayList: " + sites);
    }
}

执行以上程序输出结果为:

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

在以上实例中,我们使用了 Java String contains() 方法来检查元素中是否包含 "Tao"。

e -> e.contains("land") 如果元素中包含 "land",则返回 true

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("Odd Numbers: " + numbers);
    }
}

执行以上程序输出结果为:

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

在以上实例中,我们创建了一个名为 numbers 的动态数组。

注意表达式:

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

e -> (e % 2) == 0) 是匿名函数 lambda 的表达式。它能检查元素是否能被 2 整除。

要了解匿名函数更多信息,请访问 Java Lambda 表达式

removeIf() 方法如果 e -> (e % 2) == 0 返回 true 则删除元素。

Java ArrayList Java ArrayList