// Textbook fragment 08.04 /** Interface for the priority queue ADT */ public interface PriorityQueue { /** Returns the number of items in the priority queue. */ public int size(); /** Returns whether the priority queue is empty. */ public boolean isEmpty(); /** Returns but does not remove an entry with minimum key. */ public Entry min() throws EmptyPriorityQueueException; /** Inserts a key-value pair and return the entry created. */ public Entry insert(K key, V value) throws InvalidKeyException; /** Removes and returns an entry with minimum key. */ public Entry removeMin() throws EmptyPriorityQueueException; }