Java中的AbstractQueue add()方法及示例

Java中的AbstractQueue add()方法及示例

AbstractQueueadd(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程序,演示AbstractQueue add()方法
// NullPointerException
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
        try {
            // 创建AbstractQueue<Integer>对象
            AbstractQueue<Integer>
                AQ = new LinkedBlockingQueue<Integer>();
  
            // 填充AQ
            AQ.add(10);
            AQ.add(20);
            AQ.add(30);
            AQ.add(null);
            AQ.add(50);
  
            // 输出AQ
            System.out.println("AbstractQueue 包含: " + AQ);
        }
        catch (Exception e) {
            System.out.println("异常: " + e);
        }
    }
}
异常: java.lang.NullPointerException

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程