當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java AbstractQueue addAll()用法及代碼示例


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-



相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 AbstractQueue addAll() method in Java with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。