Teachnique
      CourseRoadmaps
      Login

      OverviewHistoryFeaturesJava 8 - New Featuresvs C++Virtual Machine(JVM)JDK vs JRE vs JVMHello World ProgramEnvironment SetupBasic SyntaxVariable TypesData TypesType CastingUnicode SystemBasic OperatorsCommentsStreamsNew Date-Time API

      Loop ControlDecision Makingif-else Statementswitch statementfor loopfor each Loopwhile Loopdo...while Loopbreak Statementcontinue Statement

      OOPs (Object-Oriented Programming) ConceptsObject and ClassesClass AttributesClass MethodsMethodsVariable ScopesConstructorsAccess ModifiersInheritanceAggregationPolymorphismOverridingMethod OverloadingDynamic BindingStatic BindingInstance Initializer BlockAbstractionEncapsulationInterfacesPackagesInner classesStatic ClassesAnonymous ClassesSingleton ClassWrapper ClassesEnum Class

      Number ClassBoolean classCharacter ClassArraysMath Class

      File ClassCreating FilesWrite To FilesReading FileDelete FilesDirectory OperationsFiles and I/O

      ExceptionsTry Catch BlockTry with ResourcesMultiple Catch BlocksNested Try BlockFinally BlockThrows and Throw | Throw an ExceptionException PropagationBuilt-in ExceptionsCustom Exception

      MultithreadingThread Life CycleCreating a ThreadStarting a ThreadJoining ThreadsNaming a Thread with ExamplesScheduling Threads with ExamplesThread PoolsMain ThreadThread PriorityDaemon ThreadThreadGroup ClassJVM Shutdown Hook

      Thread SynchronizationBlock SynchronizationStatic SynchronizationInter Thread CommunicationThread DeadlockInterrupting ThreadThread ControlReentrant Monitor

      NetworkingSocket ProgrammingURL ProcessingURL ClassURLConnection ClassHttpURLConnection ClassSocket Class with ExamplesGenerics

      Collections FrameworkCollection Interface

      List InterfaceArrayList Class

      Queue InterfaceArrayDeque Class

      Map InterfaceSortedMap Interface

      Set InterfaceSortedSet Interface

      Data Structures Enumeration Interface BitSet Class

      How to Use Iterator?How to Use Comparator?How to Use Comparable?

      RecursionRegular ExpressionsSerializationString ClassJava Arrays - Class

      Feedback

      Submit request if you have any questions.

      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
      Sr.No.
      Method & Description
      1
      boolean add(E e)
      This method inserts the specified element into this queue if it is possible to do so immediately without violating capacity restrictions, returning true upon success and throwing an IllegalStateException if no space is currently available.
      2
      E element()
      This method retrieves, but does not remove, the head of this queue.
      3
      boolean offer(E e)
      This method inserts the specified element into this queue if it is possible to do so immediately without violating capacity restrictions.
      4
      E peek()
      This method retrieves, but does not remove, the head of this queue, or returns null if this queue is empty.
      5
      E poll()
      This method retrieves and removes the head of this queue, or returns null if this queue is empty.
      6
      E remove()
      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

      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: 6
      The queue after deletion is: [1, 8, 4, 7]
      The head of the queue is: 1
      The size of the queue is: 4