在Java中的CopyOnWriteArrayList addIfAbsent()方法
CopyOnWriteArrayList 的 addIfAbsent(E e) 方法如果列表中不存在元素,它会将参数中的元素添加到列表的末尾。该函数在添加新元素到列表时返回true。
语法:
public boolean addIfAbsent(E e)
参数: 该函数接受一个单一的强制参数,指定要在列表中附加的元素,如果它不存在。
返回值: 如果已将其添加到列表中,则该函数返回true。
下面的程序说明了上面的函数:
程序1:
// Java程序演示CopyOnWriteArrayList中的
// addIfAbsent(element)方法
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建CopyOnWriteArrayList对象
CopyOnWriteArrayList<Integer> ArrLis
= new CopyOnWriteArrayList<Integer>();
//添加元素
ArrLis.addIfAbsent(2);
ArrLis.addIfAbsent(3);
ArrLis.addIfAbsent(4);
ArrLis.addIfAbsent(7);
//打印CopyOnWriteArrayList
System.out.println("CopyOnWriteArrayList: "
+ ArrLis);
System.out.println("在添加4后它返回 "
+ ArrLis.addIfAbsent(4) + " 因为它已存在");
}
}
CopyOnWriteArrayList: [2, 3, 4, 7]
在添加4后它返回 false 因为它已存在
程序2:
// Java程序演示CopyOnWriteArrayList中的
// addIfAbsent(element)方法
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建CopyOnWriteArrayList对象
CopyOnWriteArrayList<String> ArrLis
= new CopyOnWriteArrayList<String>();
//添加元素
ArrLis.addIfAbsent("gopal");
ArrLis.addIfAbsent("gfg");
ArrLis.addIfAbsent("jgec");
ArrLis.addIfAbsent("sudo");
// 打印CopyOnWriteArrayList
System.out.println("CopyOnWriteArrayList: " + ArrLis);
System.out.println("在添加'sudo'后它返回 "
+ ArrLis.addIfAbsent("sudo") + " 因为它已存在");
}
}
CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]
在添加'sudo'后它返回 false 因为它已存在
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#addIfAbsent-E-
极客教程