Java中的BlockingDeque offer()函数及示例

Java中的BlockingDeque offer()函数及示例

BlockingDequeoffer(E e) 方法将传入参数的元素插入Dequeue的末尾。如果容器的容量已超过,则不会像add()和addFirst()函数一样返回异常。

语法:

public boolean offer(E e)

参数: 此方法接受一个强制参数 e ,它是要插入BlockingDeque末尾的元素。

返回: 如果已插入元素,则此方法返回true,否则返回false。

注意: Java中的 BlockingDeque 的offer()方法是从LinkedBlockingDeque类继承的。

以下程序说明了BlockingDeque的offer()方法:

程序1:

// Java程序演示BlockingDeque的offer()方法
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
  
        // 创建BlockingDeque对象
        BlockingDeque<Integer> BD
            = new LinkedBlockingDeque<Integer>(4);
  
        // 向BlockingDeque的末尾添加数字
        BD.offer(7855642);
        BD.offer(35658786);
        BD.offer(5278367);
        BD.offer(74381793);
  
        // 无法插入
        BD.offer(10);
  
        // 如果容量已满,则无法插入且返回false
        if (!BD.offer(10))
            System.out.println("无法插入元素10,因为容量已满");
  
        // 在删除之前打印队列
        System.out.println("Blocking Deque: " + BD);
    }
}
无法插入元素10,因为容量已满
Blocking Deque: [7855642, 35658786, 5278367, 74381793]

程序2:

// Java程序演示BlockingDeque的offer()方法
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
  
        // 创建BlockingDeque对象
        BlockingDeque<String> BD
            = new LinkedBlockingDeque<String>(4);
  
        // 向BlockingDeque的末尾添加数字
        BD.offer("abc");
        BD.offer("gopu");
        BD.offer("geeks");
        BD.offer("richik");
  
        // 无法插入
        BD.offer("hii");
  
        // 如果容量已满,则无法插入且返回false
        if (!BD.offer("hii"))
            System.out.println("无法插入元素'hii',因为容量已满");
  
        // 在删除之前打印队列
        System.out.println("Linked Blocking Deque: " + BD);
    }
}
无法插入元素'hii',因为容量已满
Blocking Deque: [abc, gopu, geeks, richik]

参考资料: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#offer(E)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程