Class ProbeHashMap<K,V>
- java.lang.Object
-
- AbstractMap<K,V>
-
- AbstractHashMap<K,V>
-
- ProbeHashMap<K,V>
-
- All Implemented Interfaces:
- Map<K,V>
public class ProbeHashMap<K,V> extends AbstractHashMap<K,V>
Map implementation using hash table with linear probing. TODO: Finish implementation
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class AbstractMap
AbstractMap.MapEntry<K,V>
-
-
Field Summary
-
Fields inherited from class AbstractHashMap
capacity, n
-
-
Constructor Summary
Constructors Constructor and Description ProbeHashMap()
Creates a hash table with capacity 17 and prime factor 109345121.ProbeHashMap(int cap)
Creates a hash table with given capacity and prime factor 109345121.ProbeHashMap(int cap, int p)
Creates a hash table with the given capacity and prime factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description protected V
bucketGet(int h, K k)
Returns value associated with key k in bucket with hash value h.protected V
bucketPut(int h, K k, V v)
Associates key k with value v in bucket with hash value h, returning the previously associated value, if any.protected V
bucketRemove(int h, K k)
Removes entry having key k from bucket with hash value h, returning the previously associated value, if found.protected void
createTable()
Creates an empty table having length equal to current capacity.java.lang.Iterable<Entry<K,V>>
entrySet()
Returns an iterable collection of all key-value entries of the map.-
Methods inherited from class AbstractHashMap
get, put, remove, size
-
Methods inherited from class AbstractMap
isEmpty
-
-
-
-
Constructor Detail
-
ProbeHashMap
public ProbeHashMap()
Creates a hash table with capacity 17 and prime factor 109345121.
-
ProbeHashMap
public ProbeHashMap(int cap)
Creates a hash table with given capacity and prime factor 109345121.
-
ProbeHashMap
public ProbeHashMap(int cap, int p)
Creates a hash table with the given capacity and prime factor.
-
-
Method Detail
-
createTable
protected void createTable()
Creates an empty table having length equal to current capacity.- Specified by:
createTable
in classAbstractHashMap<K,V>
-
bucketGet
protected V bucketGet(int h, K k)
Returns value associated with key k in bucket with hash value h. If no such entry exists, returns null.- Specified by:
bucketGet
in 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
protected V bucketPut(int h, K k, V v)
Associates key k with value v in bucket with hash value h, returning the previously associated value, if any.- Specified by:
bucketPut
in 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
protected V bucketRemove(int h, K k)
Removes entry having key k from bucket with hash value h, returning the previously associated value, if found.- Specified by:
bucketRemove
in 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)
-
-