如果有空間,隊列接口的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-
相關用法
- Java Queue remove()用法及代碼示例
- Java Queue poll()用法及代碼示例
- Java Queue peek()用法及代碼示例
- Java Queue element()用法及代碼示例
- Java Queue offer()用法及代碼示例
- Java Java.util.ArrayList.add()用法及代碼示例
- Java Queue用法及代碼示例
- Java DelayQueue add()用法及代碼示例
- Java ArrayBlockingQueue add()用法及代碼示例
- Java LinkedList add()用法及代碼示例
- Java HashSet add()用法及代碼示例
- Java TreeSet add()用法及代碼示例
- Java PriorityQueue add()用法及代碼示例
- Java ArrayDeque add()用法及代碼示例
- Java LinkedBlockingDeque add()用法及代碼示例
- Java GregorianCalendar add()用法及代碼示例
- Java Vector add()用法及代碼示例
- Java Stream.Builder add()用法及代碼示例
- Java IntStream.Builder add()用法及代碼示例
- Java PriorityBlockingQueue add()用法及代碼示例
- Java StringJoiner add()用法及代碼示例
- Java LinkedTransferQueue add()用法及代碼示例
- Java ConcurrentSkipListSet add()用法及代碼示例
注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 Queue add() method in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。