Java CopyOnWriteArraySet removeIf()方法及示例
CopyonWriteArraySet方法的 removeIf() 方法会从这个CopyOnWriteArraySet中移除满足指定条件的元素。
语法
public boolean removeIf (Predicate<E> filter)
参数: 该方法接受一个强制性参数filter,它是基于哪些元素被从这个集合中移除的谓词值。
返回值: 如果CopyOnWriteArraySet被改变,这个方法返回一个布尔值,例如true。否则,此方法返回false。
异常: 如果指定的Predicate过滤器为空,该方法会抛出 NullPointerException 。
下面的程序说明了CopyOnWriteArrayList类的removeIf()函数。
程序 1 :
// 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<Integer> ArrSet
= new CopyOnWriteArraySet<Integer>();
// 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]
程序2
// 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<String> ArrSet
= new CopyOnWriteArraySet<String>();
// 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
极客教程