PriorityBlockingQueue peek() method in Java

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

PrioQueue: [416165, 464161]
Head of Queue: 416165

Example 2: To illustrate peek() method of PriorityBlockingQueue which contains list of names.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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–



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.