AbstractQueue的addAll(E e)方法將指定集合中的所有元素添加到此隊列中。
用法:
public boolean addAll(Collection c)
參數:此方法接受包含要添加到此隊列中的元素的強製參數集合
返回:如果此隊列由於調用而更改,則該方法返回true
異常:此方法引發以下異常:
- IllegalStateException:如果由於插入限製,此時無法添加所有元素
- NullPointerException :如果指定的集合包含null元素,並且此隊列不允許使用null元素,或者指定的collection為null
- ClassCastException-如果指定集合的元素的類阻止將其添加到此隊列中
- IllegalArgumentException-如果指定集合的元素的某些屬性阻止將其添加到此隊列,或者指定的集合是此隊列
以下示例程序旨在說明addAll()方法:
程序1:
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// Populating AQ1
AQ1.add(10);
AQ1.add(20);
AQ1.add(30);
AQ1.add(40);
AQ1.add(50);
// print AQ
System.out.println("AbstractQueue1 contains:" + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>();
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains:" + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains:" + AQ2);
}
}
輸出:
AbstractQueue1 contains:[10, 20, 30, 40, 50] AbstractQueue2 initially contains:[] AbstractQueue1 after addition contains:[10, 20, 30, 40, 50]
程序2:IllegalStateException程序
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// Populating AQ1
AQ1.add(10);
AQ1.add(20);
AQ1.add(30);
AQ1.add(40);
AQ1.add(50);
// print AQ
System.out.println("AbstractQueue1 contains:" + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>(3);
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains:" + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains:" + AQ2);
}
catch (Exception e) {
System.out.println("Exception:" + e);
}
}
}
輸出:
AbstractQueue1 contains:[10, 20, 30, 40, 50] AbstractQueue2 initially contains:[] Exception:java.lang.IllegalStateException:Queue full
程序3:NullPointerException的程序
// Java program to illustrate the
// AbstractQueue addAll() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue<Integer>
AbstractQueue<Integer>
AQ1 = null;
// print AQ
System.out.println("AbstractQueue1 contains:" + AQ1);
AbstractQueue<Integer>
AQ2 = new LinkedBlockingQueue<Integer>(3);
// print AQ2 initially
System.out.println("AbstractQueue2 initially contains:" + AQ2);
// adds elements of AQ1 in AQ2
AQ2.addAll(AQ1);
System.out.println("AbstractQueue1 after addition contains:" + AQ2);
}
catch (Exception e) {
System.out.println("Exception:" + e);
}
}
}
輸出:
AbstractQueue1 contains:null AbstractQueue2 initially contains:[] Exception:java.lang.NullPointerException
參考: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#addAll-E-
相關用法
- Java AbstractQueue add()用法及代碼示例
- Java AbstractQueue remove()用法及代碼示例
- Java AbstractQueue element()用法及代碼示例
- Java AbstractQueue clear()用法及代碼示例
- Java Set addAll()用法及代碼示例
- Java SortedSet addAll()用法及代碼示例
- Java Collection addAll()用法及代碼示例
- Java AbstractCollection addAll()用法及代碼示例
- Java List addAll()用法及代碼示例
- Java LinkedBlockingDeque addAll()用法及代碼示例
- Java AbstractSequentialList addAll()用法及代碼示例
- Java Collections addAll()用法及代碼示例
- Java CopyOnWriteArraySet addAll()用法及代碼示例
- Java CopyOnWriteArrayList addAll()用法及代碼示例
- Java ConcurrentLinkedDeque addAll()用法及代碼示例
注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 AbstractQueue addAll() method in Java with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。