Java CopyOnWriteArraySet removeAll()方法及示例
CopyonWriteArraySet方法的 removeAll() 方法会移除这个CopyOnWriteArraySet中所有存在于指定集合中的元素。也就是说,在两个集合中都有的元素会从这个CopyOnWriteArraySet中移除。
语法
public boolean removeAll(Collection<E> c)
参数: 该方法接受一个参数c,它是包含要从这个集合中删除的元素的集合。
返回值: 如果CopyOnWriteArraySet被改变,该方法返回一个布尔值,例如true。否则,该方法返回false。
异常: 该方法会抛出以下异常。
- ClassCastException :如果这个集合中的元素的类别与指定的集合不兼容。
- NullPointerException :如果这个集合包含一个空元素,而指定的集合不允许空元素,或者指定的集合为空。
下面的程序说明了CopyOnWriteArrayList类的removeAll()函数。
程序1 :
// Java Program to illustrate the CopyOnWriteArraySet
// removeall() 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(50);
// print CopyOnWriteArraySet
System.out.println("CopyOnWriteArraySet: "
+ ArrSet);
// create object of ArrayList
ArrayList<Integer> Arrlist
= new ArrayList<Integer>();
// add elements
Arrlist.add(10);
Arrlist.add(30);
Arrlist.add(40);
// print ArrayList
System.out.println("ArrayList: " + Arrlist);
// removing the common elements from
// the CopyOnWriteArraySet using removeAll()
System.out.println("Elements removed "
+ "from CopyOnWriteArraySet: "
+ ArrSet.removeAll(Arrlist));
// print updated CopyOnWriteArraySet
System.out.println("Updated CopyOnWriteArraySet: "
+ ArrSet);
}
}
输出。
CopyOnWriteArraySet: [10, 20, 30, 50]
ArrayList: [10, 30, 40]
Elements removed from CopyOnWriteArraySet: true
Updated CopyOnWriteArraySet: [20, 50]
程序2: 显示NullpointerException
// Java Program to illustrate the CopyOnWriteArraySet
// removeall() 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(50);
// print CopyOnWriteArraySet
System.out.println("CopyOnWriteArraySet: "
+ ArrSet);
try {
// removing the null from
// the CopyOnWriteArraySet using removeAll()
// This will throw NullPointerException
System.out.println("Elements removed "
+ "from CopyOnWriteArraySet: "
+ ArrSet.removeAll(null));
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出。
CopyOnWriteArraySet: [10, 20, 30, 50]
java.lang.NullPointerException
极客教程