A Queue is designed to hold a list of "to-dos," or things to be processed in some way.
Although other orders are possible, queues are typically thought of as FIFO (first-in,
first-out). Queues support all of the standard Collection methods and they also add
methods to add and subtract elements and review queue elements.
PriorityQueue This class is new with Java 5. Since the LinkedList class has
been enhanced to implement the Queue interface, basic queues can be handled with
a LinkedList. The purpose of a PriorityQueue is to create a "priority-in, priority out"
queue as opposed to a typical FIFO queue. A PriorityQueue's elements are ordered
either by natural ordering (in which case the elements that are sorted first will be
accessed first) or according to a Comparator. In either case, the elements' ordering
represents their relative priority.