removeIf() 方法用于删除所有满足特定条件的数组元素。
removeIf() 方法的语法为:
arraylist.removeIf(Predicate filter)
注:arraylist 是 ArrayList 类的一个对象。
参数说明:
- filter - 过滤器,判断元素是否要删除
返回值
如果元素被删除则返回 true。
实例
以下实例演示了 removeIf() 方法的使用:
实例
import java.util.*;
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList sites = new ArrayList();
sites.add("Google");
sites.add("Runoops");
sites.add("Taobao");
System.out.println("ArrayList : " + sites);
// 删除名称中带有 Tao 的元素
sites.removeIf(e -> e.contains("Tao"));;
System.out.println("删除后的 ArrayList: " + sites);
}
}
执行以上程序输出结果为:
ArrayList : [Google, Runoops, Taobao] 删除后的 ArrayList: [Google, Runoops]
在以上实例中,我们使用了 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 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 则删除元素。