package java.util; /** * Queues are Collections supporting additional basic insertion, * extraction, and inspection operations. * *
Queues typically, but do not necessarily order elements in a * FIFO (first-in-first-out) manner. Among the exceptions are priority * queues, that order elements in accord with supplied * Comparators. Every Queue implementation must specify its ordering * guarantees, * *
The offer method adds an element if possible, * otherwise returning false. This differs from the * Collections.add method, that 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 queues. * *
The remove and poll methods delete and return * an element in accord with the implementation's ordering policies -- * for example, in FIFO queues, it will return the oldest element. * The remove and poll differ only in their behavior * when the queue is empty: poll returns null while * remove throws an exception. These are designed for usage * contexts in which emptiness is considered to be normal versus * exceptional. * *
The element and peek methods return but do * not delete the element that would be obtained by a call to * remove and poll respectively. * *
The Queue interface does not define blocking queue methods * (i.e., those that wait for elements to appear and/or for space to * be available) that are common in concurrent programming. These are * defined in the extended java.util.concurrent.BlockingQueue * interface. * *
Queue implementations generally do not allow insertion of
* null. Even in those that allow it, it is a very bad idea
* to do so, since null is also used as a sentinel by
* poll to indicate that no elements exist.
**/
public interface Queue