(Solved):
In this lab, you will work on the Hash Table/Map ADT. Build a Linear Probing ...
???????
In this lab, you will work on the Hash Table/Map ADT. Build a Linear Probing Hash Table. Start with the URHashTable class code below. Make a concrete class and include the helper methods that are commented out. abstract public class UR_HashTable\{ \) private static final int INIT_CAPACITY \( =5 \); protected int \( \mathrm{n} ; / / \) size of the data set protected int \( m \); / size of the hash table protected Key[] keys; Value [] vals; int inserts, collisions; // Constuctors // public UR_HashTable() \{\} // public UR_HashTable(int cap) \{\} abstract public void put (Key key, Value val) ; abstract public Value get (Key key) ; abstract public void delete(Key key); abstract public int size() ; abstract public boolean isEmpty() ; abstract public boolean contains(Key key); abstract public Iterable \) keys () ; // Useful helpers // private int hash(Key key); // private void resize(int capacity) ; \}
Note: - Be sure to include a Unit Test program that demonstrates how your program works. - You MUST implement interface for the Key set in the class you implement. - Please write any assumption made. For example: describe what the return value means. - Your methods must handle all the corner cases gracefully - for example, throwing exceptions with detailed explanations or returning values indicating the error in case the operation is not permitted. The comments should clearly state the issues and the remedies involved. In short, no illegal operation should be permitted and the list and all its parameters should be in a valid state.