📌  相关文章
📜  Java中的 BlockingDeque takeFirst() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:20.787000             🧑  作者: Mango

Java中的 BlockingDeque takeFirst() 方法及示例
概述

在Java中,BlockingDeque是一个阻塞式双端队列,可以同时从队列的头部或尾部进行插入或删除操作。该类提供了takeFirst()方法,该方法用于从队列的头部获取并删除元素。

语法
E takeFirst() throws InterruptedException
参数

此方法没有任何参数。

返回值

该方法返回取出的元素。

异常

当队列为空时,takeFirst()方法将阻塞,直到队列中有可用元素或线程被中断抛出InterruptedException。

示例

以下是一个使用BlockingDeque takeFirst()方法的简单示例:

import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;

public class BlockingDequeExample {
   public static void main(String[] args) throws InterruptedException {
      BlockingDeque<String> deque = new LinkedBlockingDeque<>(5);

      //插入元素到双端队列
      deque.add("Java");
      deque.add("Python");
      deque.add("C++");
      deque.add("C#");
      deque.add("PHP");

      //从双端队列中获取并删除第一个元素,并打印
      String first = deque.takeFirst();
      System.out.println("First element: " + first);

      //从双端队列中获取并删除最后一个元素,并打印
      String last = deque.takeLast();
      System.out.println("Last element: " + last);

      //打印当前队列中的元素
      System.out.println("Remaining elements: " + deque);
   }
}

输出结果:

First element: Java
Last element: PHP
Remaining elements: [Python, C++, C#]

在此示例中,我们创建了一个BlockingDeque对象并将元素插入到队列中。然后,我们使用takeFirst()方法从队列的头部获取第一个元素,并使用takeLast()方法从队列的尾部获取最后一个元素。最后,我们打印队列中剩余元素。