Java LinkedBlockingDeque的remove()方法

Java LinkedBlockingDeque的remove()方法

LinkedBlockingDeque 类的 remove() 方法可删除双向队列的头部元素。如果双向队列为空,该方法会抛出NoSuchElementException异常。

语法:

public E remove()

参数: 该方法不接受任何参数。

返回值: 该方法不返回任何值。

异常: 如果Deque为空,则该方法会抛出NoSuchElementException异常。

下面的程序示例演示了LinkedBlockingDeque的remove()方法:

程序1:

// Java程序演示LinkedBlockingDeque的remove()方法
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;

public class GFG {
   public static void main(String[] args)
      throws InterruptedException
   {

      // 创建LinkedBlockingDeque对象
      LinkedBlockingDeque<Integer> LBD
         = new LinkedBlockingDeque<Integer>();

      // 将数字添加到LinkedBlockingDeque的末尾
      LBD.add(7855642);
      LBD.add(35658786);
      LBD.add(5278367);
      LBD.add(74381793);

      // 打印双向队列
      System.out.println("Linked Blocking Deque: " + LBD);

      // 删除队列的前一个元素
      LBD.remove();
      System.out.println("Linked Blocking Deque: " + LBD);
   }
}
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Linked Blocking Deque: [35658786, 5278367, 74381793]

程序2:

// Java程序演示LinkedBlockingDeque的remove()方法
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;

public class GFG {
   public static void main(String[] args)
      throws NoSuchElementException
   {

      // 创建LinkedBlockingDeque对象
      LinkedBlockingDeque<Integer> LBD
         = new LinkedBlockingDeque<Integer>(6);

      // 将数字添加到LinkedBlockingDeque的末尾
      LBD.add(7855642);
      LBD.add(35658786);
      LBD.add(5278367);
      LBD.add(74381793);

      // 打印双向队列
      System.out.println("Linked Blocking Deque: " + LBD);

      // Deque为空
      LBD.clear();

      // 抛出异常
      LBD.remove();
   }
}

输出:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.concurrent.LinkedBlockingDeque.removeFirst(LinkedBlockingDeque.java:453)
    at java.util.concurrent.LinkedBlockingDeque.remove(LinkedBlockingDeque.java:672)
    at GFG.main(GFG.java:30)

参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingDeque.html#remove–

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程