Page 1 of 6
Home Whiteboard AI Assistant Online Compilers Jobs Tools Art
SQL HTML CSS Javascript Python Java C C++ PHP Scala C#
Java - Queue Interface
Queue Interface
The Queue interface is provided in java.util package and it implements the Collection
interface. The queue implements FIFO i.e. First In First Out. This means that the
elements entered first are the ones that are deleted first. A queue is generally used to
hold elements before processing them. Once an element is processed then it is removed
from the queue and next item is picked for processing.
Queue Interface Declaration
public interface Queue<E>
extends Collection<E>
Queue Interface Methods
Following is the list of the important queue methods that all the implementation classes
of the Queue interface implement −
Sr.No. Method & Description
boolean add(E e)
This method inserts the specified element into this queue if it is possible to
1 do so immediately without violating capacity restrictions, returning true upon
success and throwing an IllegalStateException if no space is currently
available.
E element()
2
This method retrieves, but does not remove, the head of this queue.
Page 2 of 6
boolean offer(E e)
3 This method inserts the specified element into this queue if it is possible to
do so immediately without violating capacity restrictions.
E peek()
4 This method retrieves, but does not remove, the head of this queue, or
returns null if this queue is empty.
E poll()
5 This method retrieves and removes the head of this queue, or returns null if
this queue is empty.
E remove()
6
This method retrieves and removes the head of this queue.
Methods Inherited
This interface inherits methods from the following interfaces −
java.util.Collection
java.lang.Iterable
Classes that Implement Queue
The following are the classes that implement a Queue to use the functionalities of a
Queue -
LinkedList
ArrayDeque
PriorityQueue
Interfaces that Extend Queue
Page 3 of 6
The following are the interfaces that extend the Queue interface -
Deque
BlockingQueue
BlockingDeque
Example of Queue Interface
In this example, we're using a LinkedList instance to show queue add, peek and size
operations.
Open Compiler
package com.tutorialspoint;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> q = new LinkedList<>();
q.add(6);
q.add(1);
q.add(8);
q.add(4);
q.add(7);
System.out.println("The queue is: " + q);
int num1 = q.remove();
System.out.println("The element deleted from the head is: " + num1);
System.out.println("The queue after deletion is: " + q);
int head = q.peek();
System.out.println("The head of the queue is: " + head);