java.util.ArrayList.removeIf() 方法用于删除列表中满足以下条件的所有元素给定谓词。
语法
public boolean removeIf(Predicate<? super E> filter)
这里,E 是容器维护的元素类型。
参数
filter | 指定过滤器,一个对要删除的元素返回 true 的谓词。 |
返回值
如果删除了任何元素,则返回 true。
异常
如果指定的过滤器为 null,则抛出 NullPointerException。
示例:
在下面的示例中,java.util.ArrayList.removeIf() 方法用于删除所有列表中能被 10 整除的元素。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建一个ArrayList
ArrayList<Integer> MyList = new ArrayList<Integer>();
//填充ArrayList
MyList.add(5);
MyList.add(10);
MyList.add(15);
MyList.add(20);
MyList.add(25);
MyList.add(30);
//打印我的列表
System.out.println("Before removeIf, MyList contains: " + MyList);
//删除所有能被10整除的元素
MyList.removeIf((n) -> (n % 10 == 0));
//打印我的列表
System.out.println("After removeIf, MyList contains: " + MyList);
}
}
上述代码的输出将是:
Before removeIf, MyList contains: [5, 10, 15, 20, 25, 30]
After removeIf, MyList contains: [5, 15, 25]