Java中的 AbstractQueue add() 方法及示例
AbstractQueue的add(E e)方法在不违反容量限制的情况下立即将指定元素插入此队列。它在成功时返回 true,如果当前没有可用空间,则抛出IllegalStateException 。
句法:
public boolean add(E e)
参数:此方法接受一个强制参数e ,它是要插入队列的元素。
返回:如果元素被插入到队列中,则此方法返回true ,否则返回false。
异常:此方法抛出以下异常:
- IllegalStateException : 如果此时由于容量限制无法添加元素
- NullPointerException : 如果指定元素为 null
- ClassCastException – 如果指定元素的类阻止它被添加到此队列
- IllegalArgumentException – 如果此元素的某些属性阻止它被添加到此队列中
下面的程序说明了 add() 方法:
方案一:
// Java program to illustrate the
// AbstractQueue add() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// Creating object of AbstractQueue
AbstractQueue
AQ = new LinkedBlockingQueue();
// Populating AQ
AQ.add(10);
AQ.add(20);
AQ.add(30);
AQ.add(40);
AQ.add(50);
// print AQ
System.out.println("AbstractQueue contains : " + AQ);
}
}
输出:
AbstractQueue contains : [10, 20, 30, 40, 50]
程序 2: IllegalStateException程序
// Java program to illustrate the
// AbstractQueue add() method
// IllegalStateException
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue
AbstractQueue
AQ = new LinkedBlockingQueue(2);
// Populating AQ
AQ.add(10);
AQ.add(20);
AQ.add(30);
AQ.add(40);
AQ.add(50);
// print AQ
System.out.println("AbstractQueue contains : " + AQ);
}
catch (Exception e) {
System.out.println("exception: " + e);
}
}
}
输出:
exception: java.lang.IllegalStateException: Queue full
程序 3: NullPointerException程序
// Java program to illustrate the
// AbstractQueue add() method
// NullPointerException
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue
AbstractQueue
AQ = new LinkedBlockingQueue();
// Populating AQ
AQ.add(10);
AQ.add(20);
AQ.add(30);
AQ.add(null);
AQ.add(50);
// print AQ
System.out.println("AbstractQueue contains : " + AQ);
}
catch (Exception e) {
System.out.println("exception: " + e);
}
}
}
输出:
exception: java.lang.NullPointerException
参考: https: Java/util/AbstractQueue.html#add-E-