com.intrinsyc.janet
Class JHashtable

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--com.intrinsyc.janet.JHashtable
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class JHashtable
extends java.util.Dictionary
implements java.lang.Cloneable, java.io.Serializable

This class implements a JHashtable, 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 JHashtable, the objects used as keys must implement the hashCode method and the equals method.

An instance of JHashtable 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 JHashtable 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 JHashtable, 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 JHashtable of numbers. It uses the names of the numbers as keys:

     JHashtable numbers = new JHashtable();
     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);
     }
 

Since:
JDK1.0
Version:
1.42, 04/22/98
See Also:
Object.equals(java.lang.Object), Object.hashCode(), java.util.JHashtable#rehash(), Serialized Form

Constructor Summary
JHashtable()
          Constructs a new, empty JHashtable with a default capacity and load factor.
JHashtable(int initialCapacity)
          Constructs a new, empty JHashtable with the specified initial capacity and default load factor.
JHashtable(int initialCapacity, float loadFactor)
          Constructs a new, empty JHashtable with the specified initial capacity and the specified load factor.
 
Method Summary
 void clear()
          Clears this JHashtable so that it contains no keys.
 java.lang.Object clone()
          Creates a shallow copy of this JHashtable.
 boolean contains(java.lang.Object value)
          Tests if some key maps into the specified value in this JHashtable.
 boolean containsKey(java.lang.Object key)
          Tests if the specified object is a key in this JHashtable.
 java.util.Enumeration elements()
          Returns an enumeration of the values in this JHashtable.
 java.lang.Object get(java.lang.Object key)
          Returns the value to which the specified key is mapped in this JHashtable.
 boolean isEmpty()
          Tests if this JHashtable maps no keys to values.
 java.util.Enumeration keys()
          Returns an enumeration of the keys in this JHashtable.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          Maps the specified key to the specified value in this JHashtable.
 java.lang.Object remove(java.lang.Object key)
          Removes the key (and its corresponding value) from this JHashtable.
 int size()
          Returns the number of keys in this JHashtable.
 java.lang.String toString()
          Returns a rather long string representation of this JHashtable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JHashtable

public JHashtable()
Constructs a new, empty JHashtable with a default capacity and load factor.

Since:
JDK1.0

JHashtable

public JHashtable(int initialCapacity)
Constructs a new, empty JHashtable with the specified initial capacity and default load factor.

Parameters:
initialCapacity - the initial capacity of the JHashtable.
Since:
JDK1.0

JHashtable

public JHashtable(int initialCapacity,
                  float loadFactor)
Constructs a new, empty JHashtable with the specified initial capacity and the specified load factor.

Parameters:
initialCapacity - the initial capacity of the JHashtable.
loadFactor - a number between 0.0 and 1.0.
Throws:
java.lang.IllegalArgumentException - if the initial capacity is less than or equal to zero, or if the load factor is less than or equal to zero.
Since:
JDK1.0
Method Detail

clear

public void clear()
Clears this JHashtable so that it contains no keys.

Since:
JDK1.0

clone

public java.lang.Object clone()
Creates a shallow copy of this JHashtable. The keys and values themselves are not cloned. This is a relatively expensive operation.

Overrides:
clone in class java.lang.Object
Returns:
a clone of the JHashtable.
Since:
JDK1.0

contains

public boolean contains(java.lang.Object value)
Tests if some key maps into the specified value in this JHashtable. 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 JHashtable; false otherwise.
Throws:
java.lang.NullPointerException - if the value is null.
Since:
JDK1.0
See Also:
java.util.JHashtable#containsKey(java.lang.Object)

containsKey

public boolean containsKey(java.lang.Object key)
Tests if the specified object is a key in this JHashtable.

Parameters:
key - possible key.
Returns:
true if the specified object is a key in this JHashtable; false otherwise.
Since:
JDK1.0
See Also:
java.util.JHashtable#contains(java.lang.Object)

elements

public java.util.Enumeration elements()
Returns an enumeration of the values in this JHashtable. Use the Enumeration methods on the returned object to fetch the elements sequentially.

Specified by:
elements in class java.util.Dictionary
Returns:
an enumeration of the values in this JHashtable.
Since:
JDK1.0
See Also:
Enumeration, java.util.JHashtable#keys()

get

public java.lang.Object get(java.lang.Object key)
Returns the value to which the specified key is mapped in this JHashtable.

Specified by:
get in class java.util.Dictionary
Parameters:
key - a key in the JHashtable.
Returns:
the value to which the key is mapped in this JHashtable; null if the key is not mapped to any value in this JHashtable.
Since:
JDK1.0
See Also:
java.util.JHashtable#put(java.lang.Object, java.lang.Object)

isEmpty

public boolean isEmpty()
Tests if this JHashtable maps no keys to values.

Specified by:
isEmpty in class java.util.Dictionary
Returns:
true if this JHashtable maps no keys to values; false otherwise.
Since:
JDK1.0

keys

public java.util.Enumeration keys()
Returns an enumeration of the keys in this JHashtable.

Specified by:
keys in class java.util.Dictionary
Returns:
an enumeration of the keys in this JHashtable.
Since:
JDK1.0
See Also:
Enumeration, java.util.JHashtable#elements()

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Maps the specified key to the specified value in this JHashtable. 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.

Specified by:
put in class java.util.Dictionary
Parameters:
key - the JHashtable key.
value - the value.
Returns:
the previous value of the specified key in this JHashtable, or null if it did not have one.
Throws:
java.lang.NullPointerException - if the key or value is null.
Since:
JDK1.0
See Also:
Object.equals(java.lang.Object), java.util.JHashtable#get(java.lang.Object)

remove

public java.lang.Object remove(java.lang.Object key)
Removes the key (and its corresponding value) from this JHashtable. This method does nothing if the key is not in the JHashtable.

Specified by:
remove in class java.util.Dictionary
Parameters:
key - the key that needs to be removed.
Returns:
the value to which the key had been mapped in this JHashtable, or null if the key did not have a mapping.
Since:
JDK1.0

size

public int size()
Returns the number of keys in this JHashtable.

Specified by:
size in class java.util.Dictionary
Returns:
the number of keys in this JHashtable.
Since:
JDK1.0

toString

public java.lang.String toString()
Returns a rather long string representation of this JHashtable.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this JHashtable.
Since:
JDK1.0