It is possible to provide a fast priority queue implementation if the inserted items have a bounded number of integer priorities.
Make an array list of linked lists. The linked list at index i holds all items with priority i. To add an element, simply add it to the end of the ith priority list. To remove an element, remove it from the front of the non-empty list with the lowest priority.
Complete the following class that implements this idea. (Note that the elements stored in this priority queue do not implement the Comparable interface. Instead, an integer priority must be specified together with each item as it is inserted.)