Java中的ArrayDeque addAll()方法
ArrayDeque的 addAll() 方法用于将传递作为参数的集合的所有元素插入到此ArrayDeque的末尾。添加集合元素到ArrayDeque中,我们需要通过使用addAll(E e)方法迭代遍历集合中的每个元素,并将每个元素添加到ArrayDeque中。此方法与我们在此处讨论的方法相同,但使用更少的工作量。如果此deque因调用此方法而更改,则此方法返回 True 。
语法:
public boolean addAll(Collection<? extends E> c)
参数: 此方法需要一个参数 c ,其中 c 表示我们要插入到此deque中的元素集合。
返回值: 此方法返回 True ,如果此deque因调用此方法而更改。
异常: 此方法在指定的集合或其任何元素为< b>null**时抛出 NullPointerException 。
下面的程序说明了ArrayDeque的addAll()方法:
程序1: 演示将包含Numbers的集合添加到ArrayDeque的addAll()方法的程序。
// Java Program Demonstrate addAll()
// method of ArrayDeque
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ArrayDeque which going to
// contains a list of Numbers
ArrayDeque<Integer> Numbers = new ArrayDeque<Integer>();
// Add Number to list
Numbers.add(23);
Numbers.add(32);
Numbers.add(45);
Numbers.add(63);
// print ArrayDeque before calling addAll()
System.out.println("Before calling addAll()");
print(Numbers);
// create a collection of Number to
// add in ArrayDeque using addAll()
ArrayList<Integer> col = new ArrayList<Integer>();
// add Numbers in collection
col.add(74);
col.add(65);
col.add(84);
// add the elements of collection at the end
// of ArrayDeque using addAll()
Numbers.addAll(col);
// print ArrayDeque
System.out.println("After calling addAll()");
print(Numbers);
}
// printing all elements of ArrayDeque
public static void print(ArrayDeque<Integer> arDe)
{
arDe.forEach((n) -> System.out.print(n + " "));
System.out.println();
}
}
输出:
Before calling addAll()
23 32 45 63
After calling addAll()
23 32 45 63 74 65 84
程序2: 演示将包含学生姓名的集合添加到ArrayDeque的addAll()方法的程序。
// Java程序演示addAll()方法来自ArrayDeque的
//方法
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个ArrayDeque,用来
//包含实际上是字符串值的学生姓名列表
ArrayDeque<String> students = new ArrayDeque<String>();
// 添加字符串到列表中
//每个字符串代表学生姓名
students.add("Ram");
students.add("Mohan");
students.add("Sohan");
students.add("Rabi");
// 调用addAll()方法之前打印ArrayDeque
System.out.println("在调用addAll()之前:");
print(students);
// 创建一个String类型的集合
//使用addAll()添加到ArrayDeque中
LinkedList<String> col = new LinkedList<String>();
// 添加姓名到集合中
col.add("Rohan");
col.add("Kartik");
//使用addAll()方法将集合的元素添加到
//ArrayDeque中
students.addAll(col);
// 打印ArrayDeque
System.out.println("在调用addAll()之后:");
print(students);
}
// 打印ArrayDeque的所有元素
public static void print(ArrayDeque<String> arDe)
{
System.out.println("学生姓名列表:");
arDe.forEach((n) -> System.out.print(" | " + n + " | "));
System.out.println("\n");
}
}
输出:
在调用addAll()之前:
学生姓名列表:
| Ram | | Mohan | | Sohan | | Rabi |
在调用addAll()之后:
学生姓名列表:
| Ram | | Mohan | | Sohan | | Rabi | | Rohan | | Kartik |
程序3: 演示addAll()方法抛出的异常。
// Java程序演示ArrayDeque的addAll()方法引发的异常。
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个ArrayDeque,用来
//包含实际上是数字的数字列表
ArrayDeque<Integer> Numbers = new ArrayDeque<Integer>();
// 将数字添加到列表中
Numbers.add(223);
Numbers.add(132);
Numbers.add(345);
Numbers.add(563);
// 创建一个空的集合,用来包含数字
ArrayList<Integer> col = null;
try {
// 调用addAll()方法
Numbers.addAll(col);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
java.lang.NullPointerException
参考: https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#addAll(java.util.Collection)
极客教程