📌  相关文章
📜  Java中的 CopyOnWriteArrayList addAllAbsent() 方法及示例

📅  最后修改于: 2022-05-13 01:55:11.210000             🧑  作者: Mango

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

CopyOnWriteArrayListaddAllAbsent(E e)方法将指定集合中尚未包含在此列表中的所有元素按照指定集合的迭代器返回的顺序附加到此列表的末尾。

句法:

public int addAllAbsent(Collection collection)

参数:该函数接受一个强制参数集合,该集合指定要附加到列表中的集合(如果不存在)。

返回值:该函数返回一个整数值,如果元素添加到列表中,则该值是数字。

异常:如果指定的集合为空,此方法将抛出NullPointerException

下面的程序说明了 addAllAbsent()函数:

方案一:

// Java Program to illustrate the CopyOnWriteArrayList
// addAllAbsent() method in Java
  
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList ArrLis
            = new CopyOnWriteArrayList();
  
        // Add elements
        ArrLis.add(2);
        ArrLis.add(3);
        ArrLis.add(4);
        ArrLis.add(7);
  
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList: "
                           + ArrLis);
  
        // creating an Empty Integer ArrayList
        ArrayList arr = new ArrayList(4);
  
        // using add() to initialize values
        // [1, 2, 3, 4]
        arr.add(1);
        arr.add(2);
        arr.add(3);
        arr.add(4);
  
        // list initially
        System.out.println("The collection to be appended: "
                           + arr);
  
        // Append the list arr in the list ArrLis
        // using addAllAbsent() method
        System.out.println("\nNumber of elements appended"
                           + " using addAllAbsent() method: "
                           + ArrLis.addAllAbsent(arr));
  
        // print CopyOnWriteArrayList
        System.out.println("Modified CopyOnWriteArrayList: "
                           + ArrLis);
    }
}
输出:
CopyOnWriteArrayList: [2, 3, 4, 7]
The collection to be appended: [1, 2, 3, 4]

Number of elements appended using addAllAbsent() method: 1
Modified CopyOnWriteArrayList: [2, 3, 4, 7, 1]

程序2:演示NullPointerException

// Java Program to illustrate the CopyOnWriteArrayList
// addAllAbsent() method in Java
  
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create object of CopyOnWriteArrayList
        CopyOnWriteArrayList ArrLis
            = new CopyOnWriteArrayList();
  
        // Add elements
        ArrLis.add(2);
        ArrLis.add(3);
        ArrLis.add(4);
        ArrLis.add(7);
  
        // print CopyOnWriteArrayList
        System.out.println("CopyOnWriteArrayList: "
                           + ArrLis);
  
        // creating a null Integer ArrayList
        ArrayList arr = null;
  
        // list initially
        System.out.println("The collection to be appended: "
                           + arr);
  
        try {
            // Append the list arr in the list ArrLis
            // using addAllAbsent() method
            System.out.println("\nTrying to append null collection\n");
            ArrLis.addAllAbsent(arr);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
CopyOnWriteArrayList: [2, 3, 4, 7]
The collection to be appended: null

Trying to append null collection

java.lang.NullPointerException

参考: https://docs.oracle.com/javase/9/docs/api/ Java/util/concurrent/CopyOnWriteArrayList.html#addAllAbsent-java.util.Collection-