    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.util.Hashtable

    java.lang.Object
       |
       +----java.util.Dictionary
               |
               +----java.util.Hashtable

public class Hashtable
extends Dictionary
implements Cloneable, Serializable

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);
>          }

See Also:
  equals, hashCode, rehash

##

Hashtable()
  Constructs a new, empty hashtable with a default capacity and load factor.
Hashtable(int)
  Constructs a new, empty hashtable with the specified initial capacity and default load factor.
Hashtable(int, float)
  Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

##

clear()
  Clears this hashtable so that it contains no keys.
clone()
  Creates a shallow copy of this hashtable.
contains(Object)
  Tests if some key maps into the specified value in this hashtable.
containsKey(Object)
  Tests if the specified object is a key in this hashtable.
elements()
  Returns an enumeration of the values in this hashtable.
get(Object)
  Returns the value to which the specified key is mapped in this hashtable.
isEmpty()
  Tests if this hashtable maps no keys to values.
keys()
  Returns an enumeration of the keys in this hashtable.
put(Object, Object)
  Maps the specified `key` to the specified `value` in this hashtable.
rehash()
  Rehashes the contents of the hashtable into a hashtable with a larger capacity.
remove(Object)
  Removes the key (and its corresponding value) from this hashtable.
size()
  Returns the number of keys in this hashtable.
toString()
  Returns a rather long string representation of this hashtable.

##

Hashtable

     public Hashtable(int initialCapacity,
                      float loadFactor)

  Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

  Parameters:
    initialCapacity - the initial capacity of the hashtable.
    loadFactor - a number between 0.0 and 1.0.
  Throws: IllegalArgumentException
    if the initial capacity is less than or equal to zero, or if the load factor is less than or equal to zero.

Hashtable

     public Hashtable(int initialCapacity)

  Constructs a new, empty hashtable with the specified initial capacity and default load factor.

  Parameters:
    initialCapacity - the initial capacity of the hashtable.

Hashtable

     public Hashtable()

  Constructs a new, empty hashtable with a default capacity and load factor.

##

size

     public int size()

  Returns the number of keys in this hashtable.

  Returns:
    the number of keys in this hashtable.
  Overrides:
    size in class Dictionary

isEmpty

     public boolean isEmpty()

  Tests if this hashtable maps no keys to values.

  Returns:
    `true` if this hashtable maps no keys to values; `false` otherwise.
  Overrides:
    isEmpty in class Dictionary

keys

     public synchronized Enumeration keys()

  Returns an enumeration of the keys in this hashtable.

  Returns:
    an enumeration of the keys in this hashtable.
  Overrides:
    keys in class Dictionary
  See Also:
    Enumeration, elements

elements

     public synchronized Enumeration elements()

  Returns an enumeration of the values in this hashtable. Use the Enumeration methods on the returned object to fetch the elements sequentially.

  Returns:
    an enumeration of the values in this hashtable.
  Overrides:
    elements in class Dictionary
  See Also:
    Enumeration, keys

contains

     public synchronized boolean contains(Object value)

  Tests if some key maps into the specified value in this hashtable. This operation is more expensive than the `containsKey` method.

  Parameters:
    value - a value to search for.
  Returns:
    `true` if some key maps to the `value` argument in this hashtable; `false` otherwise.
  Throws: NullPointerException
    if the value is `null`.
  See Also:
    containsKey

containsKey

     public synchronized boolean containsKey(Object key)

  Tests if the specified object is a key in this hashtable.

  Parameters:
    key - possible key.
  Returns:
    `true` if the specified object is a key in this hashtable; `false` otherwise.
  See Also:
    contains

get

     public synchronized Object get(Object key)

  Returns the value to which the specified key is mapped in this hashtable.

  Parameters:
    key - a key in the hashtable.
  Returns:
    the value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
  Overrides:
    get in class Dictionary
  See Also:
    put

rehash

     protected void rehash()

  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.

put

     public synchronized Object put(Object key,
                                    Object value)

  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.

  Parameters:
    key - the hashtable key.
    value - the value.
  Returns:
    the previous value of the specified key in this hashtable, or `null` if it did not have one.
  Throws: NullPointerException
    if the key or value is `null`.
  Overrides:
    put in class Dictionary
  See Also:
    equals, get

remove

     public synchronized Object remove(Object key)

  Removes the key (and its corresponding value) from this hashtable. This method does nothing if the key is not in the hashtable.

  Parameters:
    key - the key that needs to be removed.
  Returns:
    the value to which the key had been mapped in this hashtable, or `null` if the key did not have a mapping.
  Overrides:
    remove in class Dictionary

clear

     public synchronized void clear()

  Clears this hashtable so that it contains no keys.

clone

     public synchronized Object clone()

  Creates a shallow copy of this hashtable. The keys and values themselves are not cloned. This is a relatively expensive operation.

  Returns:
    a clone of the hashtable.
  Overrides:
    clone in class Object

toString

     public synchronized String toString()

  Returns a rather long string representation of this hashtable.

  Returns:
    a string representation of this hashtable.
  Overrides:
    toString in class Object

    All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.