如果可以在不违反容量限制的情况下立即执行操作,则AbstractQueue的add(E e)方法会将指定的元素插入此队列。成功时返回true,如果当前没有可用空间,则抛出IllegalStateException。
用法:
public boolean add(E e)
参数:此方法接受强制参数e,该参数是要插入队列的元素。
返回:如果将元素插入队列,则此方法返回true,否则返回false。
异常:此方法引发以下异常:
- IllegalStateException:如果由于容量限制此时无法添加元素
- NullPointerException :如果指定的元素为null
- 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-
相关用法
- Java AbstractQueue remove()用法及代码示例
- Java AbstractQueue clear()用法及代码示例
- Java AbstractQueue addAll()用法及代码示例
- Java AbstractQueue element()用法及代码示例
- Java Java lang.Long.byteValue()用法及代码示例
- Java Java.util.Collections.disjoint()用法及代码示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代码示例
- Java Java.util.Collections.rotate()用法及代码示例
- Java Java lang.Long.highestOneBit()用法及代码示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代码示例
- Java Java lang.Long.reverse()用法及代码示例
- Java Java lang.Long.lowestOneBit()用法及代码示例
- Java Java lang.Long.builtcount()用法及代码示例
注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 AbstractQueue add() method in Java with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。