Java中的 CopyOnWriteArraySet removeIf() 方法及示例
CopyonWriteArraySet 方法的removeIf()方法从这个 CopyOnWriteArraySet 中移除满足指定条件的元素。
句法:
public boolean removeIf (Predicate filter)
参数:此方法接受一个强制参数过滤器,该过滤器是谓词值,基于从该集合中删除哪些元素。
返回值:如果 CopyOnWriteArraySet 更改,此方法返回一个布尔值,例如 true。否则此方法返回 false。
异常:如果指定的谓词过滤器为空,则此方法抛出NullPointerException 。
下面的程序说明了 CopyOnWriteArrayList 类的 removeIf()函数:
方案一:
// Java Program to illustrate the CopyOnWriteArraySet
// removeIf() method in Java
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of CopyOnWriteArraySet
CopyOnWriteArraySet ArrSet
= new CopyOnWriteArraySet();
// Add elements
ArrSet.add(10);
ArrSet.add(20);
ArrSet.add(30);
ArrSet.add(40);
ArrSet.add(50);
ArrSet.add(60);
ArrSet.add(70);
ArrSet.add(80);
ArrSet.add(90);
// print CopyOnWriteArraySet
System.out.println("CopyOnWriteArraySet: "
+ ArrSet);
// if a number in the set is
// divisible by 3, then remove it
ArrSet.removeIf(number -> number % 3 == 0);
// print updated CopyOnWriteArraySet
System.out.println("Updated CopyOnWriteArraySet: "
+ ArrSet);
}
}
输出:
CopyOnWriteArraySet: [10, 20, 30, 40, 50, 60, 70, 80, 90]
Updated CopyOnWriteArraySet: [10, 20, 40, 50, 70, 80]
方案二:
// Java Program to illustrate the CopyOnWriteArraySet
// removeIf() method in Java
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of CopyOnWriteArraySet
CopyOnWriteArraySet ArrSet
= new CopyOnWriteArraySet();
// Add elements
ArrSet.add("GeeksforGeeks");
ArrSet.add("GFG");
ArrSet.add("Geeks");
ArrSet.add("Gfg");
// print CopyOnWriteArraySet
System.out.println("CopyOnWriteArraySet: "
+ ArrSet);
try {
// if a number in the set is
// divisible by 3, then remove it
// This will throw NullPointerException
ArrSet.removeIf(null);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
CopyOnWriteArraySet: [GeeksforGeeks, GFG, Geeks, Gfg]
java.lang.NullPointerException