LinkedBlockingQueue peek() method in Java
The peek() method of LinkedBlockingQueue returns the head of the LinkedBlockingQueue. It retrieves the value of the head of LinkedBlockingQueue but does not remove it. If the LinkedBlockingQueue is empty then this method returns null.
Syntax:
public E peek()
Return Value: This method returns the head of the LinkedBlockingQueue.
Below programs illustrates peek() method of LinkedBlockingQueue class:
Program 1: Returning the head of the LinkedBlockingQueue using peek() method where LinkedBlockingQueue of capacity 7 contains list of names
// Java Program Demonstrate peek()// method of LinkedBlockingQueue import java.util.concurrent.LinkedBlockingQueue;public class GFG { public static void main(String[] args) { // define capacity of LinkedBlockingQueue int capacityOfQueue = 7; // create object of LinkedBlockingQueue LinkedBlockingQueue<String> linkedQueue = new LinkedBlockingQueue<String>(capacityOfQueue); // Add element to LinkedBlockingQueue linkedQueue.add("John"); linkedQueue.add("Tom"); linkedQueue.add("Clark"); linkedQueue.add("Kat"); // find head of linkedQueue using peek() method String head = linkedQueue.peek(); // print result System.out.println("Queue is " + linkedQueue); // print head of queue System.out.println("Head of Queue is " + head); // removing one element linkedQueue.remove(); // again get head of queue head = linkedQueue.peek(); // print result System.out.println("\nRemoving one element from Queue\n"); System.out.println("Queue is " + linkedQueue); // print head of queue System.out.println("Head of Queue is " + head); }} |
Queue is [John, Tom, Clark, Kat] Head of Queue is John Removing one element from Queue Queue is [Tom, Clark, Kat] Head of Queue is Tom
Program 2: Finding head of LinkedBlockingQueue which contains list of Employees
// Java Program Demonstrate peek()// method of LinkedBlockingQueue import java.util.concurrent.LinkedBlockingQueue;public class GFG { public void findPeek() { // define capacity of LinkedBlockingQueue int capacityOfQueue = 7; // create object of LinkedBlockingQueue LinkedBlockingQueue<Employee> linkedQueue = new LinkedBlockingQueue<Employee>(capacityOfQueue); // Add element to LinkedBlockingQueue Employee emp1 = new Employee("Ravi", "Tester", "39000"); Employee emp2 = new Employee("Sanjeet", "Manager", "98000"); // Add Employee Objects to linkedQueue linkedQueue.add(emp1); linkedQueue.add(emp2); // print head then remove element // and follow same process again // until the queue becomes empty while (linkedQueue.size() != 0) { // find head of linkedQueue using peek() method Employee head = linkedQueue.peek(); // print results System.out.println("Head of list"); System.out.println("Employee Name : " + head.name); System.out.println("Employee Position : " + head.position); System.out.println("Employee Salary : " + head.salary); linkedQueue.remove(); if (linkedQueue.size() != 0) System.out.println("\nRemoving one element from Queue\n"); } } // create an Employee Object with // position and salary as an attribute public class Employee { public String name; public String position; public String salary; Employee(String name, String position, String salary) { this.name = name; this.position = position; this.salary = salary; } @Override public String toString() { return "Employee [name=" + name + ", position=" + position + ", salary=" + salary + "]"; } } // Main Method public static void main(String[] args) { GFG gfg = new GFG(); gfg.findPeek(); }} |
Head of list Employee Name : Ravi Employee Position : Tester Employee Salary : 39000 Removing one element from Queue Head of list Employee Name : Sanjeet Employee Position : Manager Employee Salary : 98000
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html#peek–
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.


