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

📅  最后修改于: 2022-05-13 01:55:28.760000             🧑  作者: Mango

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

AbstractQueueadd(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-