Java CopyOnWriteArraySet removeAll() 方法示例

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程序演示CopyOnWriteArraySet类的removeall()方法
// 在Java中
  
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // 创建CopyOnWriteArraySet类的对象
        CopyOnWriteArraySet<Integer> ArrSet
            = new CopyOnWriteArraySet<Integer>();
  
        // 添加元素
        ArrSet.add(10);
        ArrSet.add(20);
        ArrSet.add(30);
        ArrSet.add(50);
  
        // 打印CopyOnWriteArraySet
        System.out.println("CopyOnWriteArraySet: "
                           + ArrSet);
  
        try {
  
            // 使用removeAll()从CopyOnWriteArraySet中删除null元素
            // 这将引发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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程