/** * Specifies the operations a PriorityQueue must implement * If we are defining a PQ using Comparable objects. * So I am calling this PriorityQueue1 */ public interface PriorityQueue1> { /** * Returns the number of items in the queue. */ public int size(); /** * Adds a new item to the priority queue. * @param item the item to add */ public void add(T item); /** * Removes the item with highest priority from the queue. * @return */ public T remove(); }