public interface Queue<E>

ExtendsCollection<E>, Iterable<E>

Known subtypesAbstractQueue, ArrayDeque, Deque, LinkedList, PriorityQueue

This kind of collection provides advanced operations compared to basic collections, such as insertion, extraction, and inspection.

Generally, a queue orders its elements by means of first-in-first-out. However, a priority queue orders its elements according to a comparator specified or the elements’ natural order. Furthermore, a stack orders its elements last-in-first out.

A typical queue does not allow null to be inserted as its element, while some implementations such as LinkedList allow it. But null should not be inserted even in these implementations, since the method poll returns null to indicate that there is no element left in the queue.

Queue does not provide blocking queue methods, which would block until the operation of the method is allowed. See the java.util.concurrent.BlockingQueue interface for information about blocking queue methods.

Methods

public abstract boolean offer(E o)Inserts the specified element into the queue provided that the condition allows such an operation.
public abstract E poll()Gets and removes the element at the head of the queue, or returns null if there is no element in the queue.
public abstract E remove()Gets and removes the element at the head of the queue.
public abstract E peek()Gets but does not remove the element at the head of the queue.
public abstract E element()Gets but does not remove the element at the head of the queue.

Inherited methods

Method details

offer

public abstract boolean offer(E o)
Inserts the specified element into the queue provided that the condition allows such an operation. The method is generally preferable to Collection#add, since the latter might throw an exception if the operation fails.

Parameters

o E
the specified element to insert into the queue.

Returns

true if the operation succeeds and false if it fails.

poll

public abstract E poll()
Gets and removes the element at the head of the queue, or returns null if there is no element in the queue.

Returns

the element at the head of the queue or null if there is no element in the queue.

remove

public abstract E remove()
Gets and removes the element at the head of the queue. Throws a NoSuchElementException if there is no element in the queue.

Returns

the element at the head of the queue.

Throws

NoSuchElementException
if there is no element in the queue.

peek

public abstract E peek()
Gets but does not remove the element at the head of the queue.

Returns

the element at the head of the queue or null if there is no element in the queue.

element

public abstract E element()
Gets but does not remove the element at the head of the queue. Throws a NoSuchElementException if there is no element in the queue.

Returns

the element at the head of the queue.

Throws

NoSuchElementException
if there is no element in the queue.