Course
Queue Interface
Java Tutorial
This Java tutorial is tailored for newcomers, offering a journey from basic principles to complex Java programming techniques. Completing this tutorial equips you with a solid understanding of Java, preparing you for advanced learning. You'll emerge ready to tackle the challenges of becoming a top-tier software engineer, with the skills to innovate and excel in the vast world of software development.
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
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
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.
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); int size = q.size(); System.out.println("The size of the queue is: " + size); }}
Output
The queue is: [6, 1, 8, 4, 7]The element deleted from the head is: 6The queue after deletion is: [1, 8, 4, 7]The head of the queue is: 1The size of the queue is: 4