The peek() method of PriorityBlockingQueue returns the element at head of the PriorityBlockingQueue. It retrieves the value of the head of LinkedBlockingQueue but does not remove it. If the PriorityBlockingQueue does not contains any element, then this method returns null. A PriorityBlockingQueue queue uses the same ordering rules as class PriorityQueue.
Syntax:
public E peek()
Parameter: This method does not take any parameter.
Returns: This method returns the head of the PriorityBlockingQueue.
Below program illustrate peek() method of PriorityBlockingQueue.
Example 1:
// Java Program Demonstrate peek() // method of PriorityBlockingQueue import java.util.concurrent.PriorityBlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacityOfQueue = 5 ; // create object of PriorityBlockingQueue PriorityBlockingQueue<Integer> PrioQueue = new PriorityBlockingQueue<Integer>(capacityOfQueue); // Add elements to PriorityBlockingQueue PrioQueue.add( 464161 ); PrioQueue.add( 416165 ); // print PrioQueue System.out.println( "PrioQueue: " + PrioQueue); // get head of PriorityBlockingQueue int head = PrioQueue.peek(); // print head of PriorityBlockingQueue System.out.println( "Head of Queue: " + head); } } |
PrioQueue: [416165, 464161] Head of Queue: 416165
Example 2: To illustrate peek() method of PriorityBlockingQueue which contains list of names.
// Java Program Demonstrate peek() // method of PriorityBlockingQueue import java.util.concurrent.PriorityBlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacityOfQueue = 5 ; // create object of PriorityBlockingQueue PriorityBlockingQueue<String> names = new PriorityBlockingQueue<String>(capacityOfQueue); // Add names of students of girls college names.add( "Geeks" ); names.add( "forGeeks" ); names.add( "A" ); names.add( "Computer" ); names.add( "Portal" ); // print PrioQueue System.out.println( "List of Names: " + names.toString()); // get head of PriorityBlockingQueue String head = names.peek(); // print head of PriorityBlockingQueue System.out.println( "Head of Queue: " + head); // remove one name from head names.poll(); System.out.println( "First Name from head is removed" ); // print PrioQueue System.out.println( "List of Names: " + names.toString()); // get head of PriorityBlockingQueue head = names.peek(); // print head of PriorityBlockingQueue System.out.println( "Head of Queue: " + head); } } |
List of Names: [A, Computer, Geeks, forGeeks, Portal] Head of Queue: A First Name from head is removed List of Names: [Computer, Portal, Geeks, forGeeks] Head of Queue: Computer
Reference:
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#peek–