goodsjpi
Class IdentityHashtable

java.lang.Object
  extended bygoodsjpi.IdentityHashtable

public class IdentityHashtable
extends java.lang.Object

This class implements a IdentityHashtable, which maps key object to some other object. An instance of IdentityHashtable 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 IdentityHashtable 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 IdentityHashtable, 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.


Constructor Summary
IdentityHashtable()
          Constructs a new, empty IdentityHashtable with a default capacity and load factor.
IdentityHashtable(int initialCapacity)
          Constructs a new, empty IdentityHashtable with the specified initial capacity and default load factor.
IdentityHashtable(int initialCapacity, float loadFactor)
          Constructs a new, empty IdentityHashtable with the specified initial capacity and the specified load factor.
 
Method Summary
 void clear()
          Clears this IdentityHashtable so that it contains no keys.
 boolean contains(java.lang.Object value)
          Tests if some key maps into the specified value in this IdentityHashtable.
 boolean containsKey(java.lang.Object key)
          Tests if the specified object is a key in this IdentityHashtable.
 java.lang.Object get(java.lang.Object key)
          Returns the value to which the specified key is mapped in this IdentityHashtable.
 boolean isEmpty()
          Tests if this IdentityHashtable maps no keys to values.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          Maps the specified key to the specified value in this IdentityHashtable.
protected  void rehash()
          Rehashes the contents of the IdentityHashtable into a IdentityHashtable with a larger capacity.
 java.lang.Object remove(java.lang.Object key)
          Removes the key (and its corresponding value) from this IdentityHashtable.
 int size()
          Returns the number of keys in this IdentityHashtable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IdentityHashtable

public IdentityHashtable(int initialCapacity,
                         float loadFactor)
Constructs a new, empty IdentityHashtable 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:
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.

IdentityHashtable

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

Parameters:
initialCapacity - the initial capacity of the IdentityHashtable.

IdentityHashtable

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

Method Detail

size

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

Returns:
the number of keys in this IdentityHashtable.

isEmpty

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

Returns:
true if this Hashtable maps no keys to values; false otherwise.

contains

public boolean contains(java.lang.Object value)
Tests if some key maps into the specified value in this IdentityHashtable. 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 IdentityHashtable; false otherwise.

containsKey

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

Parameters:
key - possible key.
Returns:
true if the specified object is a key in this IdentityHashtable; false otherwise.

get

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

Parameters:
key - a key in the IdentityHashtable.
Returns:
the value to which the key is mapped in this IdentityHashtable; null if the key is not mapped to any value in this IdentityHashtable.

rehash

protected void rehash()
Rehashes the contents of the IdentityHashtable into a IdentityHashtable with a larger capacity. This method is called automatically when the number of keys in the IdentityHashtable exceeds this IdentityHashtable's capacity and load factor.


put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Maps the specified key to the specified value in this IdentityHashtable. 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 IdentityHashtable key.
value - the value.
Returns:
the previous value of the specified key in this Hashtable, or null if it did not have one.

remove

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

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.

clear

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