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–
极客教程