扫码一下
查看教程更方便
removeIf() 方法用于删除所有满足特定条件的数组元素。
removeIf() 方法的语法为:
arraylist.removeIf(Predicate<E> filter)
注:arraylist 是 ArrayList 类的一个对象。
如果元素被删除则返回 true。
以下实例演示了 removeIf() 方法的使用:
实例
import java.util.*; public class Main { public static void main(String[] args){ // 创建一个动态数组 ArrayList<String> sites = new ArrayList<>(); sites.add("Google"); sites.add("Jiyik"); sites.add("Taobao"); System.out.println("ArrayList : " + sites); // 删除名称中带有 Tao 的元素 sites.removeIf(e -> e.contains("Tao"));; System.out.println("删除后的 ArrayList: " + sites); } }
执行以上程序输出结果为:
ArrayList : [Google, Jiyik, Taobao]
删除后的 ArrayList: [Google, Jiyik]
在以上实例中,我们使用了 Java String contains() 方法来检查元素中是否包含 "Tao"。
e -> e.contains("land") 如果元素中包含 "land",则返回 true
removeIf() 如果 e -> e.contains("land") 返回 true 则删除该元素。
删除偶数的元素:
实例
import java.util.ArrayList; public 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 整除。
removeIf() 方法如果 e -> (e % 2) == 0 返回 true 则删除元素。