java.lang.Object | ||
↳ | java.util.Dictionary<K, V> | |
↳ | java.util.Hashtable<K, V> |
This class implements a hashtable, which maps keys to values. Any
non-null
object can be used as a key or as a value.
To successfully store and retrieve objects from a hashtable, the objects used
as keys must implement the hashCode
method and the
equals
method.
An instance of Hashtable
has two parameters that affect its
efficiency: its capacity and its load factor. The load factor
should be between 0.0 and 1.0. When the number of entries in the hashtable
exceeds the product of the load factor and the current capacity, the capacity
is increased by calling the rehash
method. Larger load factors
use memory more efficiently, at the expense of larger expected time per
lookup.
If many entries are to be made into a Hashtable
, creating it
with a sufficiently large capacity may allow the entries to be inserted more
efficiently than letting it perform automatic rehashing as needed to grow the
table.
This example creates a hashtable of numbers. It uses the names of the numbers as keys:
Hashtable numbers = new Hashtable(); numbers.put("one", new Integer(1)); numbers.put("two", new Integer(2)); numbers.put("three", new Integer(3));
To retrieve a number, use the following code:
Integer n = (Integer) numbers.get("two"); if (n != null) { System.out.println("two = " + n); }
Note: To conserve space, the CLDC implementation is based on JDK 1.1.8, not JDK 1.3.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Hashtable(int initialCapacity, float loadFactor)
Constructs a new, empty hashtable with the specified initial capacity and the
specified load factor.
| |||||||||||
Hashtable(int initialCapacity)
Constructs a new, empty hashtable with the specified initial capacity.
| |||||||||||
Hashtable()
Constructs a new, empty hashtable with a default capacity and load factor.
| |||||||||||
Hashtable(Map<? extends K, ? extends V> t)
Constructs a new hashtable with the same mappings as the given Map.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
synchronized void |
clear()
Clears this hashtable so that it contains no keys.
| ||||||||||
synchronized boolean |
contains(Object value)
Tests if some key maps into the specified value in this hashtable.
| ||||||||||
synchronized boolean |
containsKey(Object key)
Tests if the specified object is a key in this hashtable.
| ||||||||||
boolean |
containsValue(Object value)
Returns true if this hashtable maps one or more keys to this value.
| ||||||||||
synchronized Enumeration<V> |
elements()
Returns an enumeration of the values in this hashtable.
| ||||||||||
Set<Entry<K, V>> |
entrySet()
Returns a
Set view of the mappings contained in this map. | ||||||||||
synchronized V |
get(Object key)
Returns the value to which the specified key is mapped in this hashtable.
| ||||||||||
boolean |
isEmpty()
Tests if this hashtable maps no keys to values.
| ||||||||||
Set<K> |
keySet()
Returns a
Set view of the keys contained in this map. | ||||||||||
synchronized Enumeration<K> |
keys()
Returns an enumeration of the keys in this hashtable.
| ||||||||||
synchronized V |
put(K key, V value)
Maps the specified
key to the specified value in
this hashtable. | ||||||||||
synchronized void |
putAll(Map<? extends K, ? extends V> t)
Copies all of the mappings from the specified map to this hashtable.
| ||||||||||
synchronized V |
remove(Object key)
Removes the key (and its corresponding value) from this hashtable.
| ||||||||||
int |
size()
Returns the number of keys in this hashtable.
| ||||||||||
synchronized String |
toString()
Returns a rather long string representation of this hashtable.
| ||||||||||
Collection<V> |
values()
Returns a
Collection view of the values contained in this map. |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void |
rehash()
Rehashes the contents of the hashtable into a hashtable with a larger
capacity.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.
initialCapacity | the initial capacity of the hashtable. |
---|---|
loadFactor | the load factor of the hashtable. |
IllegalArgumentException | if the initial capacity is less than zero, or if the load factor is nonpositive. |
---|
Constructs a new, empty hashtable with the specified initial capacity.
initialCapacity | the initial capacity of the hashtable. |
---|
IllegalArgumentException | if the initial capacity is less than zero |
---|
Constructs a new, empty hashtable with a default capacity and load factor.
Constructs a new hashtable with the same mappings as the given Map. The hashtable is created with an initial capacity sufficient to hold the mappings in the given Map and a default load factor (0.75).
t | the map whose mappings are to be placed in this map. |
---|
NullPointerException | if the specified map is null. |
---|
Clears this hashtable so that it contains no keys.
Tests if some key maps into the specified value in this hashtable. This
operation is more expensive than the containsKey
method.
value | a value to search for. |
---|
true
if some key maps to the value
argument
in this hashtable; false
otherwise.NullPointerException | if the value is null . |
---|
Tests if the specified object is a key in this hashtable.
key | possible key. |
---|
true
if the specified object is a key in this hashtable;
false
otherwise.Returns true if this hashtable maps one or more keys to this value.
Note that this method is identical in functionality to contains
(which predates the Map
interface).
value | value whose presence in this hashtable is to be tested |
---|
NullPointerException | if the value is null |
---|
Returns an enumeration of the values in this hashtable. Use the Enumeration methods on the returned object to fetch the elements sequentially.
Returns a Set
view of the mappings contained in this map. The set is
backed by the map, so changes to the map are reflected in the set, and
vice-versa. If the map is modified while an iteration over the set is in
progress (except through the iterator's own remove operation, or
through the setValue operation on a map entry returned by the
iterator) the results of the iteration are undefined. The set supports
element removal, which removes the corresponding mapping from the map, via
the Iterator.remove, Set.remove, removeAll,
retainAll and clear operations. It does not support the
add or addAll operations.
Returns the value to which the specified key is mapped in this hashtable.
key | a key in the hashtable. |
---|
null
if the key is not mapped to any value in this
hashtable.Tests if this hashtable maps no keys to values.
true
if this hashtable maps no keys to values;
false
otherwise.Returns a Set
view of the keys contained in this map. The set is
backed by the map, so changes to the map are reflected in the set, and
vice-versa. If the map is modified while an iteration over the set is in
progress (except through the iterator's own remove operation), the
results of the iteration are undefined. The set supports element removal,
which removes the corresponding mapping from the map, via the
Iterator.remove, Set.remove, removeAll,
retainAll, and clear operations. It does not support the
add or addAll operations.
Returns an enumeration of the keys in this hashtable.
Maps the specified key
to the specified value
in
this hashtable. Neither the key nor the value can be null
.
The value can be retrieved by calling the get
method with a key
that is equal to the original key.
key | the hashtable key. |
---|---|
value | the value. |
null
if it did not have one.NullPointerException | if the key or value is null . |
---|
Copies all of the mappings from the specified map to this hashtable. These mappings will replace any mappings that this hashtable had for any of the keys currently in the specified map.
t | mappings to be stored in this map |
---|
NullPointerException | if the specified map is null |
---|
Removes the key (and its corresponding value) from this hashtable. This method does nothing if the key is not in the hashtable.
key | the key that needs to be removed. |
---|
null
if the key did not have a mapping.Returns the number of keys in this hashtable.
Returns a rather long string representation of this hashtable.
Returns a Collection
view of the values contained in this map. The
collection is backed by the map, so changes to the map are reflected in the
collection, and vice-versa. If the map is modified while an iteration over
the collection is in progress (except through the iterator's own
remove operation), the results of the iteration are undefined. The
collection supports element removal, which removes the corresponding mapping
from the map, via the Iterator.remove, Collection.remove,
removeAll, retainAll and clear operations. It does
not support the add or addAll operations.
Rehashes the contents of the hashtable into a hashtable with a larger capacity. This method is called automatically when the number of keys in the hashtable exceeds this hashtable's capacity and load factor.