Java中的CopyOnWriteArrayList retainAll()方法及示例

Java中的CopyOnWriteArrayList retainAll()方法及示例

Java.util.concurrent.CopyOnArrayList.retainAll() 方法用于仅保留列表中包含在特定集合中的元素。

语法:

public boolean retainAll(Collection col)

参数:

此方法接受一个必填参数 col ,其类型为集合。这是要在此向量中保留的元素集合。

返回值:

如果对调用产生影响,则此方法返回一个 布尔值true ,否则返回false。

异常:

如果指定的集合为NULL,则此方法将引发 NullPointerException。

下面的程序说明了Java中CopyOnArrayList的retainAll()方法:

程序 1:

该程序涉及Integer类型的CopyOnArraylist retainAll()方法:

// Java Program to illustrate CopyOnArrayList
// retainAll() method
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList<Integer> ArrLis1
            = new CopyOnWriteArrayList<Integer>();
  
        // Add elements
        ArrLis1.add(34);
        ArrLis1.add(66);
        ArrLis1.add(72);
        ArrLis1.add(10);
  
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList1: "
                           + ArrLis1);
  
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList<Integer> ArrLis2
            = new CopyOnWriteArrayList<Integer>();
  
        // Add elements
        ArrLis2.add(10);
        ArrLis2.add(66);
        ArrLis2.add(97);
  
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList2: "
                           + ArrLis2);
  
        // Applying the function
        ArrLis2.retainAll(ArrLis1);
  
        // print CopyOnWriteArrayLists
  
        System.out.println("After applying retainAll()"
                           + " method on ArrLis2");
        System.out.println("CopyOnWriteArrayList1: "
                           + ArrLis1);
        System.out.println("CopyOnWriteArrayList2: "
                           + ArrLis2);
    }
}
CopyOnWriteArrayList1: [34, 66, 72, 10]
CopyOnWriteArrayList2: [10, 66, 97]
After applying retainAll() method on ArrLis2
CopyOnWriteArrayList1: [34, 66, 72, 10]
CopyOnWriteArrayList2: [10, 66]

程序 2:

该程序涉及字符串类型的CopyOnArraylist retainAll()方法:

// Java程序演示CopyOnArrayList
// retainAll()方法
  
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
        CopyOnWriteArrayList<String> ArrLis1
            = new CopyOnWriteArrayList<String>();
  
        // 添加元素
        ArrLis1.add("geeks");
        ArrLis1.add("shaan");
        ArrLis1.add("gfg");
        ArrLis1.add("programming");
  
        // 打印CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList1: "
                           + ArrLis1);
  
        // 创建CopyOnWriteArrayList对象
        CopyOnWriteArrayList<String> ArrLis2
            = new CopyOnWriteArrayList<String>();
  
        // 添加元素
        ArrLis2.add("geeks");
        ArrLis2.add("gfg");
        ArrLis2.add("qwe");
  
        // 打印CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList2: "
                           + ArrLis2);
  
        // 应用方法
        ArrLis2.retainAll(ArrLis1);
  
        // 打印CopyOnWriteArrayLists
  
        System.out.println("使用retainAll()方法后");
        System.out.println("CopyOnWriteArrayList1: "
                           + ArrLis1);
        System.out.println("CopyOnWriteArrayList2: "
                           + ArrLis2);
    }
}
CopyOnWriteArrayList1: [geeks, shaan, gfg, programming]
CopyOnWriteArrayList2: [geeks, gfg, qwe]
使用retainAll()方法后
CopyOnWriteArrayList1: [geeks, shaan, gfg, programming]
CopyOnWriteArrayList2: [geeks, gfg]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程