Reputation: 1047
For a homework assignment which is stated as:
In this homework, you will implement a key-value hash map with a external chaining collision policy. A hash map maps keys to values and allows O(1) average case lookup of a value when the key is known. This hash map must be backed by an array of initial size 11, and must have a size of 2n + 1 when the table exceeds (greater than, not greater than or equal to) a load factor of 0.67. The array must be resized before the new key (regardless of whether or not it’s a duplicate) is actually added into the array. The load factor and initial size values are provided as constants in the interface and should be used within your code.
We're given a MapEntry class already written, and a HashMap class to write up. How would I intialize this array? private MapEntry<K, V>[] table = new MapEntry<>[STARTING_SIZE];
doesn't work because of the generics situation.
Upvotes: 0
Views: 869
Reputation: 31290
You omit the generic parameters in the array constructor:
Map.Entry<String,Integer>[] entries = new Map.Entry[11];
You can use an annotation @SuppressWarnings("unchecked")
if the warning bothers you.
Upvotes: 1