This class implements an association between keys and values. More...
#include <HashMap.h>
Classes | |
| struct | Entry |
| Type definition for each cells in the bucket chain. More... | |
| class | iterator |
| Iterator support for class HashMap. More... | |
Public Member Functions | |
| HashMap () | |
| virtual | ~HashMap () |
| HashMap (const HashMap &src) | |
| This copy constructor is to make a deep copy of HashMap. More... | |
| HashMap & | operator= (const HashMap &src) |
| This operator= are defined assign from one map to another. More... | |
| void | clear () |
| Removes all entries from this map. More... | |
| int | size () const |
| bool | isEmpty () const |
| void | put (const KeyType &key, const ValueType &value) |
Associates key with value in this map. More... | |
| ValueType | get (const KeyType &key) const |
| bool | containsKey (const KeyType &key) const |
| void | remove (const KeyType &key) |
removes any entry for key from this map. More... | |
| ValueType & | operator[] (const KeyType &key) |
Selects the value associated with key. More... | |
| ValueType | operator[] (const KeyType &key) const |
| iterator | begin () const |
| iterator | end () const |
Private Member Functions | |
| void | createBuckets (int nBuckets) |
| Creates vector of buckets to have nBuckets entries, each NULL. More... | |
| void | deleteBuckets (std::vector< Entry * > &buckets) |
| Deletes all the cells in the linked lists contained in vector. More... | |
| void | expandAndRehash () |
| Increases the buckets in the map and then rehashes all existing entries. More... | |
| Entry * | findEntry (int bucket, const KeyType &key) const |
| Finds a cell in the chain for the specified bucket that matches key. More... | |
| Entry * | findEntry (int bucket, const KeyType &key, Entry *&parent) const |
| void | deepCopy (const HashMap &src) |
| Creates deep copy of src HashMap. More... | |
Private Attributes | |
| std::vector< Entry * > | buckets |
| Vector of pointer to Entry. More... | |
| int | nBuckets |
| Total number of buckets. More... | |
| int | numEntries |
| Total number of entries. More... | |
This class implements an association between keys and values.
It stores a set of key-value pairs and uses a hash table as its underlying representation.
| void HashMap< KeyType, ValueType >::clear |
| bool HashMap< KeyType, ValueType >::containsKey | ( | const KeyType & | key | ) | const |
|
private |
|
private |
| ValueType HashMap< KeyType, ValueType >::get | ( | const KeyType & | key | ) | const |
| bool HashMap< KeyType, ValueType >::isEmpty |
| ValueType & HashMap< KeyType, ValueType >::operator[] | ( | const KeyType & | key | ) |
| ValueType HashMap< KeyType, ValueType >::operator[] | ( | const KeyType & | key | ) | const |
| void HashMap< KeyType, ValueType >::put | ( | const KeyType & | key, |
| const ValueType & | value | ||
| ) |
| void HashMap< KeyType, ValueType >::remove | ( | const KeyType & | key | ) |
| int HashMap< KeyType, ValueType >::size |
|
private |