|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.datastructures.HashTableMap<K,V>
public class HashTableMap<K,V>
A hash table data structure that uses linear probing to handle collisions. The hash function uses the built-in hashCode method and the multiply-add-and-divide method. The load factor is always kept less than or equal to 0.5. When the load factor reaches 0.5, the entries are rehashed into a new bucket array with twice the capacity.
Nested Class Summary | |
---|---|
static class |
HashTableMap.HashEntry<K,V>
Nested class for an entry in a hash table. |
Constructor Summary | |
---|---|
HashTableMap()
Creates a hash table with prime factor 109345121 and capacity 1000. |
|
HashTableMap(int cap)
Creates a hash table with prime factor 109345121 and given capacity. |
|
HashTableMap(int p,
int cap)
Creates a hash table with the given prime factor and capacity. |
Method Summary | |
---|---|
java.lang.Iterable<Entry<K,V>> |
entries()
Returns an iterable object containing all of the entries. |
V |
get(K key)
Returns the value associated with a key. |
int |
hashValue(K key)
Hash function applying MAD method to default hash code. |
boolean |
isEmpty()
Returns whether or not the table is empty. |
java.lang.Iterable<K> |
keys()
Returns an iterable object containing all of the keys. |
V |
put(K key,
V value)
Put a key-value pair in the map, replacing previous one if it exists. |
V |
remove(K key)
Removes the key-value pair with a specified key. |
int |
size()
Returns the number of entries in the hash table. |
java.lang.Iterable<V> |
values()
Returns an iterable object containing all of the values. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public HashTableMap()
public HashTableMap(int cap)
public HashTableMap(int p, int cap)
Method Detail |
---|
public int hashValue(K key)
public int size()
size
in interface Map<K,V>
public boolean isEmpty()
isEmpty
in interface Map<K,V>
public java.lang.Iterable<K> keys()
keys
in interface Map<K,V>
public V get(K key) throws InvalidKeyException
get
in interface Map<K,V>
InvalidKeyException
public V put(K key, V value) throws InvalidKeyException
put
in interface Map<K,V>
InvalidKeyException
public V remove(K key) throws InvalidKeyException
remove
in interface Map<K,V>
InvalidKeyException
public java.lang.Iterable<Entry<K,V>> entries()
entries
in interface Map<K,V>
public java.lang.Iterable<V> values()
values
in interface Map<K,V>
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |