Java CopyOnWriteArrayList addAll()方法及实例
boolean addAll(Collection c)
该方法用于将集合 c 所标识的所有元素追加到列表的末尾,顺序与集合的迭代器所返回的顺序相同。
参数: 该方法接受一个强制参数c,它是包含元素的集合,这些元素将被追加到列表的最后。
返回值: 该方法返回一个布尔值。如果集合被正确地插入到列表中,则返回真,否则,返回假。
异常: 如果指定的元素为空,该方法会抛出 NullPointerException 。
// Java Program to illustrate the
// CopyOnWriteArrayList.addAll(Collection c)
import java.io.*;
import java.util.concurrent.CopyOnWriteArrayList;
public class CopyOnWriteArrayListDemo {
public static void main(String args[])
{
// create an empty array list1 with initial
// capacity as 5
CopyOnWriteArrayList<Integer> list1
= new CopyOnWriteArrayList<Integer>();
// use add() method to add elements in the list
list1.add(12);
list1.add(20);
list1.add(45);
// prints all the elements available in list1
System.out.println("Printing list1:");
for (Integer number : list1)
System.out.println("Number = " + number);
// create an empty array list2 with an initial
// capacity
CopyOnWriteArrayList<Integer> list2
= new CopyOnWriteArrayList<Integer>();
// use add() method to add elements in list2
list2.add(25);
list2.add(30);
list2.add(31);
list2.add(35);
// let us print all the elements available in
// list2
System.out.println("Printing list2:");
for (Integer number : list2)
System.out.println("Number = " + number);
// inserting all elements, list2 will get printed
// after list1
list1.addAll(list2);
System.out.println("Printing all the elements");
// let us print all the elements available in
// list1
for (Integer number : list1)
System.out.println("Number = " + number);
}
}
输出。
Printing list1:
Number = 12
Number = 20
Number = 45
Printing list2:
Number = 25
Number = 30
Number = 31
Number = 35
Printing all the elements
Number = 12
Number = 20
Number = 45
Number = 25
Number = 30
Number = 31
Number = 35
boolean addAll(int index, Collection c)
这个方法是将一个集合的元素添加到另一个列表中。插入的元素将从指定的索引开始。元素将按照集合的迭代器所返回的顺序被添加。当一个新的元素被添加时,先前存在于该索引的元素(如果有的话)将移到右边。
参数:
index 是集合中的元素将被插入的位置。
c 是包含元素的集合,这些元素将被添加到列表的末端。
返回值: 它的返回类型是布尔值。如果集合在指定的索引处被正确插入到列表中,它将返回 true,否则,它将返回 false。
异常 :
NullPointerException – 如果指定的集合为空。
IndexOutOfBoundsException – 如果指定的索引超出范围。
// Java Program to illustrate the CopyOnWriteArrayList
// addAll(Collection c)
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class CopyOnWriteArrayListDemo {
public static void main(String args[])
{
// create an empty array list1 with initial
// capacity 5
CopyOnWriteArrayList<Integer> list
= new CopyOnWriteArrayList<Integer>();
// using add() method to add elements in the
// list
list.add(12);
list.add(20);
list.add(45);
// prints all the elements available in list1
System.out.println("Printing list1:");
for (Integer number : list)
System.out.println("Number = " + number);
// create an empty array list2 with an initial
// capacity
CopyOnWriteArrayList<Integer> list2
= new CopyOnWriteArrayList<Integer>();
// use add() method to add elements in list2
list2.add(25);
list2.add(30);
list2.add(31);
list2.add(35);
// prints all the elements available in list2
System.out.println("Printing list2:");
for (Integer number : list2)
System.out.println("Number = " + number);
// inserting all elements of list2 at third
// position
list.addAll(2, list2);
System.out.println("Printing all the elements");
// prints all the elements available in list1
for (Integer number : list)
System.out.println("Number = " + number);
}
}
输出。
Printing list1:
Number = 12
Number = 20
Number = 45
Printing list2:
Number = 25
Number = 30
Number = 31
Number = 35
Printing all the elements
Number = 12
Number = 20
Number = 25
Number = 30
Number = 31
Number = 35
Number = 45