Java AbstractQueue add()方法及示例
AbstractQueue 的 add(E e) 方法在不违反容量限制的情况下可以立即将指定的元素插入这个队列中。成功后返回true,如果当前没有可用空间,则抛出IllegalStateException。
语法
public boolean add(E e)
参数: 该方法接受一个强制性参数 e ,它是要插入队列的元素。
返回: 如果元素被插入到队列中,该方法返回true,否则返回false。
异常: 该方法抛出以下异常。
- IllegalStateException : 如果由于容量的限制,元素在这个时候不能被添加
- NullPointerException :如果指定的元素是空的。
- ClassCastException – 如果指定元素的类别阻止它被添加到这个队列中。
- IllegalArgumentException – 如果这个元素的某些属性使它不能被添加到这个队列中。
下面的程序说明了add()方法。
程序1 :
// 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<Integer>
AbstractQueue<Integer>
AQ = new LinkedBlockingQueue<Integer>();
// 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<Integer>
AbstractQueue<Integer>
AQ = new LinkedBlockingQueue<Integer>(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<Integer>
AbstractQueue<Integer>
AQ = new LinkedBlockingQueue<Integer>();
// 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://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#add-E-
极客教程