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


Java Queue add()用法及代碼示例


如果有空間,隊列接口的add(E e)方法會將在參數中傳遞的元素插入隊列的末尾。如果Queue受容量限製並且沒有剩餘空間可插入,則返回IllegalStateException。成功插入後,該函數返回true。

用法:

boolean add(E e)

參數:此方法接受強製參數e,該參數是要插入隊列末尾的元素。

返回:成功插入後,此方法返回true。

異常:該函數引發四個異常,如下所述:



  • ClassCastException:當要輸入的元素的類阻止將其添加到此容器中時:
  • IllegalStateException:當容器的容量已滿並且已插入時。
  • IllegalArgumentException:當元素的某些屬性阻止將其添加到隊列中時:
  • NullPointerException :當要插入的元素作為null傳遞並且Queue的接口不允許使用null元素時。

以下示例程序旨在說明add()隊列方法:

程序1:借助LinkedList。

// Java Program Demonstrate add() 
// method of Queue 
  
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new LinkedList<Integer>(); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
        Q.add(74381793); 
  
        // before removing print queue 
        System.out.println("Queue:" + Q); 
    } 
}
輸出:
Queue:[7855642, 35658786, 5278367, 74381793]

程序2:借助ArrayDeque。

// Java Program Demonstrate add() 
// method of Queue 
  
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new ArrayDeque<Integer>(); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
        Q.add(74381793); 
  
        // before removing print queue 
        System.out.println("Queue:" + Q); 
    } 
}
輸出:
Queue:[7855642, 35658786, 5278367, 74381793]

程序3:借助LinkedBlockingDeque。

// Java Program Demonstrate add() 
// method of Queue 
  
import java.util.*; 
import java.util.concurrent.LinkedBlockingDeque; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new LinkedBlockingDeque<Integer>(); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
        Q.add(74381793); 
  
        // before removing print queue 
        System.out.println("Queue:" + Q); 
    } 
}
輸出:
Queue:[7855642, 35658786, 5278367, 74381793]

程序4:借助ConcurrentLinkedDeque。



// Java Program Demonstrate add() 
// method of Queue 
  
import java.util.*; 
import java.util.concurrent.ConcurrentLinkedDeque; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new ConcurrentLinkedDeque<Integer>(); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
        Q.add(74381793); 
  
        // before removing print queue 
        System.out.println("Queue:" + Q); 
    } 
}
輸出:
Queue:[7855642, 35658786, 5278367, 74381793]

以下示例程序旨在說明此方法引發的異常:

程序5:顯示NullPointerException。

// Java Program Demonstrate add() 
// method of Queue when Null is passed 
  
import java.util.*; 
import java.util.concurrent.LinkedBlockingQueue; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new LinkedBlockingQueue<Integer>(); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
  
        try { 
            // when null is inserted 
            Q.add(null); 
        } 
        catch (Exception e) { 
            System.out.println("Exception:" + e); 
        } 
    } 
}
輸出:
Exception:java.lang.NullPointerException

程序6:顯示IllegalStateException。

// Java Program Demonstrate add() 
// method of Queue when capacity is full 
import java.util.*; 
import java.util.concurrent.LinkedBlockingQueue; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IllegalStateException 
    { 
  
        // create object of Queue 
        Queue<Integer> Q 
            = new LinkedBlockingQueue<Integer>(3); 
  
        // Add numbers to end of Queue 
        Q.add(7855642); 
        Q.add(35658786); 
        Q.add(5278367); 
  
        try { 
            // when capacity is full 
            Q.add(10); 
        } 
        catch (Exception e) { 
            System.out.println("Exception:" + e); 
        } 
    } 
}
輸出:
Exception:java.lang.IllegalStateException:Queue full

注意:其他兩個異常是內部的,它們是由編譯器引起的,因此無法在編譯器中顯示。

參考: https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html#add-E-

相關用法


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