Java中PriorityBlockingQueue peek()函数

Java中PriorityBlockingQueue peek()函数

peek() 函数为 PriorityBlockingQueue 中返回位于队列头的元素。它检索LinkedBlockingQueue的头节点的值,但不会删除它。如果PriorityBlockingQueue不包含任何元素,则该方法返回null。PriorityBlockingQueue队列使用与PriorityQueue类相同的排序规则。

语法:

public E peek()

参数: 此方法不需要任何参数。

返回值: 此方法返回PriorityBlockingQueue的队列头。

下面的程序说明PriorityBlockingQueue的peek()函数。

实例1:

//Java Program演示PriorityBlockingQueue的peek()函数
  
import java.util.concurrent.PriorityBlockingQueue;
  
public class GFG {
    public static void main(String[] args)
    {
        //定义PriorityBlockingQueue的容量
        int capacityOfQueue=5;
  
        //创建PriorityBlockingQueue对象
        PriorityBlockingQueue<Integer> PrioQueue
            = new PriorityBlockingQueue<Integer>(capacityOfQueue);
  
        //将元素添加到PriorityBlockingQueue
        PrioQueue.add(464161);
        PrioQueue.add(416165);
  
        //打印PrioQueue
        System.out.println("PrioQueue:"+PrioQueue);
  
        //获取PriorityBlockingQueue的头节点
        int head=PrioQueue.peek();
  
        //打印PriorityBlockingQueue的头节点
        System.out.println("队列头:"+head);
    }
}
PrioQueue: [416165, 464161]
队列头: 416165

实例2: 演示PriorityBlockingQueue的peek()函数,其中包含姓名的列表。

//Java Program演示PriorityBlockingQueue的peek()函数
  
import java.util.concurrent.PriorityBlockingQueue;
  
public class GFG {
    public static void main(String[] args)
    {
  
        //定义PriorityBlockingQueue的容量
        int capacityOfQueue=5;
  
        //创建PriorityBlockingQueue对象
        PriorityBlockingQueue<String> names
            = new PriorityBlockingQueue<String>(capacityOfQueue);
  
        //添加女生大学生姓名
        names.add("Geeks");
        names.add("forGeeks");
        names.add("A");
        names.add("Computer");
        names.add("Portal");
  
        //打印PrioQueue
        System.out.println("Name列表:"+names.toString());
  
        //获取PriorityBlockingQueue的头节点
        String head=names.peek();
  
        //打印PriorityBlockingQueue的头节点
        System.out.println("队列头:"+head);
  
        //从头部删除一个名称
        names.poll();
        System.out.println("删除了一个名称");
  
        //打印PrioQueue
        System.out.println("Name列表:"+names.toString());
  
        //获取PriorityBlockingQueue的头节点
        head=names.peek();
  
        //打印PriorityBlockingQueue的头节点
        System.out.println("队列头:"+head);
    }
}
Name列表: [A, Computer, Geeks, forGeeks, Portal]
队列头: A
删除了一个名称
Name列表: [Computer, Portal, Geeks, forGeeks]
队列头: Computer

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程