Updates
  • Starting New Weekday Batch for Java Full Stack Developer on 24th June 2024 @ 02:00 PM to 04:00 PM
  • Starting New Weekend Batch for Java Full Stack Developer on 06th July 2024 @ 11:00 AM to 02:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 08th July 2024 @ 04:00 PM to 06:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 29th July 2024 @ 10:00 AM to 12:00 PM
Join Course

Queue Interface

The Queue is an interface available in the java.util package. The java.util.Queue interface extends the java.util.Collection interface and is further extended by the java.util.Deque interface. The java.util.Deque interface is then implemented by the java.util.ArrayDeque class, and starting from JDK 1.5, the java.util.LinkedList class also implements the java.util.Deque interface.
There is another class, java.util.PriorityQueue, which directly implements the java.util.Queue interface.
In Queue generally elements works on FIFO (First-In-First-Out).

java.util.Queue:

public interface java.util.Queue<E> extends java.util.Collection<E> {
public abstract boolean add(E);
public abstract boolean offer(E);
public abstract E remove();
public abstract E poll();
public abstract E element();
public abstract E peek();
}

java.util.Deque

public interface java.util.Deque<E> extends java.util.Queue<E> {
public abstract void addFirst(E);
public abstract void addLast(E);
public abstract boolean offerFirst(E);
public abstract boolean offerLast(E);
public abstract E removeFirst();
public abstract E removeLast();
public abstract E pollFirst();
public abstract E pollLast();
public abstract E getFirst();
public abstract E getLast();
public abstract E peekFirst();
public abstract E peekLast();
public abstract boolean removeFirstOccurrence(java.lang.Object);
public abstract boolean removeLastOccurrence(java.lang.Object);
public abstract boolean add(E);
public abstract boolean offer(E);
public abstract E remove();
public abstract E poll();
public abstract E element();
public abstract E peek();
public abstract void push(E);
public abstract E pop();
public abstract boolean remove(java.lang.Object);
public abstract boolean contains(java.lang.Object);
public abstract int size();
public abstract java.util.Iterator<E> iterator();
public abstract java.util.Iterator<E> descendingIterator();
}

java.util.ArrayDeque:

public class java.util.ArrayDeque<E> extends java.util.AbstractCollection<E> implements java.util.Deque<E>, java.lang.Cloneable, java.io.Serializable {
transient java.lang.Object[] elements;
transient int head;
transient int tail;
static final boolean $assertionsDisabled;
public java.util.ArrayDeque();
public java.util.ArrayDeque(int);
public java.util.ArrayDeque(java.util.Collection<? extends E>);
public void addFirst(E);
public void addLast(E);
public boolean offerFirst(E);
public boolean offerLast(E);
public E removeFirst();
public E removeLast();
public E pollFirst();
public E pollLast();
public E getFirst();
public E getLast();
public E peekFirst();
public E peekLast();
public boolean removeFirstOccurrence(java.lang.Object);
public boolean removeLastOccurrence(java.lang.Object);
public boolean add(E);
public boolean offer(E);
public E remove();
public E poll();
public E element();
public E peek();
public void push(E);
public E pop();
public int size();
public boolean isEmpty();
public java.util.Iterator<E> iterator();
public java.util.Iterator<E> descendingIterator();
public boolean contains(java.lang.Object);
public boolean remove(java.lang.Object);
public void clear();
public java.lang.Object[] toArray();
public <T> T[] toArray(T[]);
public java.util.ArrayDeque<E> clone();
public java.util.Spliterator<E> spliterator();
public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
static boolean access$200(java.util.ArrayDeque, int);
static {};
}

java.util.PriorityQueue:

public class java.util.PriorityQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable {
transient java.lang.Object[] queue;
transient int modCount;
public java.util.PriorityQueue();
public java.util.PriorityQueue(int);
public java.util.PriorityQueue(java.util.Comparator<? super E>);
public java.util.PriorityQueue(int, java.util.Comparator<? super E>);
public java.util.PriorityQueue(java.util.Collection<? extends E>);
public java.util.PriorityQueue(java.util.PriorityQueue<? extends E>);
public java.util.PriorityQueue(java.util.SortedSet<? extends E>);
public boolean add(E);
public boolean offer(E);
public E peek();
public boolean remove(java.lang.Object);
boolean removeEq(java.lang.Object);
public boolean contains(java.lang.Object);
public java.lang.Object[] toArray();
public <T> T[] toArray(T[]);
public java.util.Iterator<E> iterator();
public int size();
public void clear();
public E poll();
public java.util.Comparator<? super E> comparator();
public final java.util.Spliterator<E> spliterator();
static int access$100(java.util.PriorityQueue);
static java.lang.Object access$200(java.util.PriorityQueue, int);
}