Java - Queue peek() Method
Description
The Java Queue peek() method retrieves, but does not remove, the head of this queue, or returns null if this queue is empty.
Declaration
Following is the declaration for java.util.Queue.peek() method
public E peek()
Parameters
NA
Return Value
This method returns the head of the list represented by this queue, or null if this queue is empty.
Exception
NA
Example 1
The following example shows the usage of Java Queue peek() method with Integers. We're creating an LinkedList of Integers, adding some elements, print it and then use peek() method to get the first element. Queue remains untouched.
package com.tutorialspoint;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
// create an empty queue
Queue<Integer> queue = new LinkedList<>();
// use add() method to add elements in the queue
queue.add(25);
queue.add(30);
queue.add(20);
queue.add(18);
// let us print all the elements available in queue
System.out.println("Queue = " + queue);
// it will retrieve first element
System.out.println("Retrieved Element is = " + queue.peek());
// let us print all the elements available in queue again
System.out.println("Queue = " + queue);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Queue = [25, 30, 20, 18] Retrieved Element is = 25 Queue = [25, 30, 20, 18]
Example 2
The following example shows the usage of Java Queue peek() method with Strings. We're creating an LinkedList of Strings, adding some elements, print it and then use peek() method to get the first element. Queue remains untouched.
package com.tutorialspoint;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
// create an empty queue
Queue<String> queue = new LinkedList<>();
// use add() method to add elements in the queue
queue.add("A");
queue.add("B");
queue.add("C");
queue.add("D");
// let us print all the elements available in queue
System.out.println("Queue = " + queue);
// it will retrieve first element
System.out.println("Retrieved Element is = " + queue.peek());
// let us print all the elements available in queue again
System.out.println("Queue = " + queue);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Queue = [A, B, C, D] Retrieved Element is = A Queue = [A, B, C, D]
Example 3
The following example shows the usage of Java Queue peek() method with Student objects. We're creating an LinkedList of Student objects, adding some students, print it and then use peek() method to get the first student. Queue remains untouched.
package com.tutorialspoint;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
// create an empty queue
Queue<Student> queue = new LinkedList<>();
// use add() method to add elements in the queue
queue.add(new Student(1, "Julie"));
queue.add(new Student(2, "Robert"));
queue.add(new Student(3, "Adam"));
// let us print all the elements available in queue
System.out.println("Queue = " + queue);
// it will retrieve first element
System.out.println("Retrieved Element is = " + queue.peek());
// let us print all the elements available in queue again
System.out.println("Queue = " + queue);
}
}
class Student {
int rollNo;
String name;
Student(int rollNo, String name){
this.rollNo = rollNo;
this.name = name;
}
@Override
public String toString() {
return "[ " + this.rollNo + ", " + this.name + " ]";
}
@Override
public boolean equals(Object obj) {
Student s = (Student)obj;
return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Queue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]] Retrieved Element is = [ 1, Julie ] Queue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]