📌  相关文章
📜  Java中的 ConcurrentLinkedDeque push() 方法及示例

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

Java中的 ConcurrentLinkedDeque push() 方法及示例

ConcurrentLinkedDeque类的push()方法是Java中的一个内置函数,如果可以在不违反容量的情况下立即将元素推送到此双端队列所代表的堆栈上(换句话说,在此双端队列的头部)限制,成功时返回 true,如果当前没有可用空间则抛出 IllegalStateException。

句法:

public void push(E e)

Here, E is the type of element maintained 
by this collection class.

参数:此方法只接受一个要添加到 ConcurentLinkedDeque 头部的参数元素

返回值:该函数没有返回值。

异常:该方法将抛出以下异常。

  • IllegalStateException:如果此时由于容量限制无法添加元素。
  • ClassCastException:如果指定元素的类阻止它被添加到这个双端队列。
  • NullPointerException:如果指定元素为 null 并且此双端队列不允许 null 元素。
  • IllegalArgumentException:如果指定元素的某些属性阻止将其添加到此双端队列。

下面的程序说明了 ConcurrentLinkedDeque.push() 方法:

程序 1:该程序涉及字符类型的 ConcurrentLinkedDeque。

// Java program to demonstrate push()
// method of ConcurrentLinkedDeque
  
import java.util.concurrent.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Creating an empty ConcurrentLinkedDeque
        ConcurrentLinkedDeque CLD
            = new ConcurrentLinkedDeque();
  
        // Use push() method to add elements
        CLD.push("Welcome");
        CLD.push("To");
        CLD.push("Geeks");
        CLD.push("For");
        CLD.push("Geeks");
  
        // Displaying the ConcurrentLinkedDeque
        System.out.println("ConcurrentLinkedDeque: "
                           + CLD);
    }
}
输出:
ConcurrentLinkedDeque: [Geeks, For, Geeks, To, Welcome]

程序 2:显示 NullPointerException。

// Java program to demonstrate push()
// method of ConcurrentLinkedDeque
  
import java.util.concurrent.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Creating an empty ConcurrentLinkedDeque
        ConcurrentLinkedDeque CLD
            = new ConcurrentLinkedDeque();
  
        // Displaying the ConcurrentLinkedDeque
        System.out.println("ConcurrentLinkedDeque: "
                           + CLD);
  
        try {
  
            System.out.println("Trying to add "
                               + "null in ConcurrentLinkedDeque");
  
            // Use push() method to null element
            CLD.push(null);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
ConcurrentLinkedDeque: []
Trying to add null in ConcurrentLinkedDeque
java.lang.NullPointerException