Open In App

PriorityBlockingQueue peek() method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

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);
    }
}


Output:

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);
    }
}


Output:

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–



Last Updated : 26 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads