Java Hashtable
A collection allows a group of objects to be treated as a single
unit. Map is one of the core interfaces of java collection
framework that defines operations for maintaining mappings of
keys to values. Map interface does not implement Collection
interface, because it does not contain elements but contains
entries of keys and their corresponding values (i.e. called
mapping). Map does not allow duplicate keys. So there is utmost
one value that is mapped with the given key. Both key and value
must be an Object (Primitive values must be wrapped). Hashtable
implements Map interface (As of the Java 2 platform v1.2, this
class has been retrofitted to implement Map, so that it becomes
a part of Java's collection framework). Hashtables will
automatically grow when you add too many elements. However,
growing requires copying, rehashing and rechaining, which
affects its overall performance. Performance of Hashtable
depends on two important factors that are * Initial Capacity and
* Load Factor Initial Capacity is the capacity at the time the
hash table is created. Load factor determines when to increase
the capacity of the Hashtable. The default load factor is 0.75.
Important Note: The initial capacity is not the actual number of
elements you plan to store in hashtable. Say for example, if you
set initial capacity of 100 and the load factor is 0.75, then
the capacity of Hashtable will be automatically increased when
it reaches to 75 not 100. Constructors Hashtable () Constructs
empty hashtable with a default initial capacity 11 and load
factor 0.75. Hashtable (int initialCapacity) Constructs empty
hashtable with the specified initial capacity and default load
factor 0.75. Hashtable (int initialCapacity, float loadFactor)
Constructs empty hashtable with the specified initial capacity
and the specified load factor. Hashtable (Map t) Constructs a
new hashtable with the mappings same as the passed Map. Basic
methods Object get (Object key) Returns the value mapped to the
specified key, or null if no entry is found. Object put (Object
key, Object value) Maps the specified key to the specified value
in this hashtable and returns the value previously associated
with the specified key, if any. Otherwise, it returns the null
value. Object remove (Object key) Removes the key and its
associated value from the hashtable, and returns the value
previously associated with the specified key, if any. Otherwise,
it returns the null value. boolean containsKey(Object key)
Returns true if the specified key is mapped to some value in the
map, otherwise false. boolean containsValue(Object value)
Returns true if there are one or more keys mapped to the
specified value, otherwise false. int size() Returns the size of
the hashtable. boolean isEmpty() returns true if hashtable is
empty, otherwise false. Other methods void putAll(Map t) copies
all mappings from the map to current hashtable and replaces
existing entries, if any. Void clear() Removes all mappings
from hashtable. Collection values() Returns collection of the
values contained in the hashtable. Enumeration elements()
Return Enumeration of the values contained in the hashtable. Set
entrySet() Returns a Set of entries contained in the Hashtable.
Enumeration keys() Return Enumeration of keys contained in the
hashtable. Object clone() Creates copy of the hashtable.
Note : hashtable may throw IllegalArgumentException, if any
unsupported operation is invoked.