Download and unzip the HashMap implementation lab. Read the comments carefully to make sure you're meeting the requirements correctly, and make sure you've chosen one of the following 3 types of solution to the problem:
- All HashMaps must have a load factor that, once exceeded, causes the backing array to resize.
- If you use chaining, you must implement a singly-linked list from scratch using the provided HashNode class. The list's head should be the slot in the hash's array, and does not need a tail (it's unordered).
- If you use buckets, you should have a fixed bucket size and an overflow bucket at the end of the table. The table should resize appropriately if the overflow becomes full.
- If you use probing, you must use a non-linear collision resolution method such as quadratic, pseudo-random, or double-hashing.
Final version is due Friday, March 1 at the start of class.