Package com.zybooks.dsaj.map
Class ChainHashMap<K,V>
java.lang.Object
com.zybooks.dsaj.map.AbstractMap<K,V>
com.zybooks.dsaj.map.AbstractHashMap<K,V>
com.zybooks.dsaj.map.ChainHashMap<K,V>
- Type Parameters:
K- The key type (keys must be unique and hashable)V- The value type
- All Implemented Interfaces:
Map<K,V>
Map implementation using hash table with separate chaining.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.zybooks.dsaj.map.AbstractMap
AbstractMap.MapEntry<K,V> -
Field Summary
Fields inherited from class com.zybooks.dsaj.map.AbstractHashMap
capacity, n -
Constructor Summary
ConstructorsConstructorDescriptionCreates a hash table with capacity 17 and prime number 109345121.ChainHashMap(int cap) Creates a hash table with given capacity and prime number 109345121.ChainHashMap(int cap, int p) Creates a hash table. -
Method Summary
Modifier and TypeMethodDescriptionprotected VReturns value associated with key k in bucket with hash value h.protected VAssociates key k with value v in bucket with hash value h, returning the previously associated value, if any.protected VbucketRemove(int h, K k) Removes entry having key k from bucket with hash value h, returning the previously associated value, if found.protected voidCreates an empty table having length equal to current capacity.entrySet()Returns an iterable collection of all key-value entries of the map.Methods inherited from class com.zybooks.dsaj.map.AbstractHashMap
get, put, remove, sizeMethods inherited from class com.zybooks.dsaj.map.AbstractMap
isEmpty, keySet, values
-
Constructor Details
-
ChainHashMap
public ChainHashMap()Creates a hash table with capacity 17 and prime number 109345121. -
ChainHashMap
public ChainHashMap(int cap) Creates a hash table with given capacity and prime number 109345121.- Parameters:
cap- the initial length of the hash table
-
ChainHashMap
public ChainHashMap(int cap, int p) Creates a hash table.- Parameters:
cap- the initial length of the hash tablep- a prime number used for the hash function
-
-
Method Details
-
createTable
protected void createTable()Creates an empty table having length equal to current capacity.- Specified by:
createTablein classAbstractHashMap<K,V>
-
bucketGet
Returns value associated with key k in bucket with hash value h. If no such entry exists, returns null.- Specified by:
bucketGetin classAbstractHashMap<K,V> - Parameters:
h- the hash value of the relevant bucketk- the key of interest- Returns:
- associate value (or null, if no such entry)
-
bucketPut
Associates key k with value v in bucket with hash value h, returning the previously associated value, if any.- Specified by:
bucketPutin classAbstractHashMap<K,V> - Parameters:
h- the hash value of the relevant bucketk- the key of interestv- the value to be associated- Returns:
- previous value associated with k (or null, if no such entry)
-
bucketRemove
Removes entry having key k from bucket with hash value h, returning the previously associated value, if found.- Specified by:
bucketRemovein classAbstractHashMap<K,V> - Parameters:
h- the hash value of the relevant bucketk- the key of interest- Returns:
- previous value associated with k (or null, if no such entry)
-
entrySet
Returns an iterable collection of all key-value entries of the map.- Returns:
- iterable collection of the map's entries
-