Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

edu.emory.mathcs.util
Interface Queue  view Queue download Queue.java

All Superinterfaces:
java.util.Collection, java.lang.Iterable
All Known Implementing Classes:
AbstractQueue, PriorityQueue

public interface Queue
extends java.util.Collection

A Collection designed for holding elements prior to processing. Besides basic java.util.Collection operations, queues provide additional insertion, extraction, and inspection operations. 0 *

Queues typically, but do not necessarily, order elements in a FIFO (first-in-first-out) manner. Among the exceptions are priority queues, which order elements according to a supplied comparator, or the elements' natural ordering. Every Queue implementation must specify its ordering guarantees.

The #offer(E) method adds an element if possible, otherwise returning false. This differs from the Collections#add(Object) method, which throws an unchecked exception upon failure. It is designed for use in collections in which failure to add is a normal, rather than exceptional occurrence, for example, in fixed-capacity (or “bounded”) queues.

The remove() 55 and poll() 55 methods remove and return an element in accord with the implementation's ordering policy. Exactly which element is removed from the queue is a function of the queue's ordering policy, which differs from implementation to implementation. Possible orderings include (but are not limited to) first-in-first-out (FIFO), last-in-first-out (LIFO), element priority, and arbitrary. The remove() and poll() methods differ only in their behavior when the queue is empty: the remove() method throws an exception, while the poll() method returns null.

The element() 55 and peek() 55 methods return but do not delete the element that would be obtained by a call to the remove and poll methods respectively.

The Queue interface does not define the blocking queue methods, which are common in concurrent programming. These methods, which wait for elements to appear or for space to become available, are defined in the java.util.concurrent.BlockingQueue interface, which extends this interface.

Queue implementations generally do not allow insertion of null elements, although some implementations, such as java.util.LinkedList, do not prohibit insertion of null. Even in the implementations that permit it, null should not be inserted into a Queue, as null is also used as a special return value by the poll method to indicate that the queue contains no elements.

This interface is a member of the Java Collections Framework.

Since:
1.5

Method Summary
 java.lang.Object element()
          Return, but do not remove, an element from the queue.
 boolean offer(java.lang.Object element)
          Add the specified element to this queue, if possible.
 java.lang.Object peek()
          Return, but do not remove, an element from the queue, or null if the queue is empty.
 java.lang.Object poll()
          Remove and return an element from the queue if one is available.
 java.lang.Object remove()
          Remove and return an element from the queue.
 
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Method Detail

offer

public boolean offer(java.lang.Object element)
Add the specified element to this queue, if possible.


poll

public java.lang.Object poll()
Remove and return an element from the queue if one is available.


remove

public java.lang.Object remove()
                        throws java.util.NoSuchElementException
Remove and return an element from the queue. This method differs from the poll method in that it throws an exception if the queue is empty.


peek

public java.lang.Object peek()
Return, but do not remove, an element from the queue, or null if the queue is empty. This method returns the same object reference that would be returned by by the poll method. The two methods differ in that this method does not remove the element from the queue.


element

public java.lang.Object element()
                         throws java.util.NoSuchElementException
Return, but do not remove, an element from the queue. This method differs from the peek method in that it throws an exception if the queue is empty.