SunSPOT API V5.0


com.sun.squawk.util
Class IntHashtable

java.lang.Object
  extended by com.sun.squawk.util.IntHashtable

public class IntHashtable
extends Object

This class implements an unsynchronized hashtable, which maps keys to values. Any non-null object can be used as a value, but only primitive integers (ints) can be used as keys.

An instance of IntHashtable has two parameters that affect its efficiency: its capacity and its load factor. The load factor is 0.75. 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.

If many entries are to be made into a IntHashtable, 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 int value of the numbers as keys:

     IntHashtable numbers = new IntHashtable();
     numbers.put(1, new Integer(1));
     numbers.put(2, new Integer(2));
     numbers.put(3, new Integer(3));
 

To retrieve a number, use the following code:

     Integer n = (Integer)numbers.get(2);
     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.

Version:
1.42, 07/01/98 (CLDC 1.0, Spring 2000)
See Also:
Object.equals(java.lang.Object), Object.hashCode(), rehash(), Hashtable

Field Summary
protected  int count
          The total number of entries in the hash table.
protected  com.sun.squawk.util.IntHashtableEntry[] table
          The hash table data.
protected  int threshold
          Rehashes the table when count exceeds this threshold.
 
Constructor Summary
IntHashtable()
          Constructs a new, empty hashtable with a default capacity and load factor.
IntHashtable(int initialCapacity)
          Constructs a new, empty hashtable with the specified initial capacity.
 
Method Summary
 void clear()
          Clears this hashtable so that it contains no keys.
 boolean contains(Object value)
          Tests if some key maps into the specified value in this hashtable.
 boolean containsKey(int key)
          Tests if the specified object is a key in this hashtable.
 Enumeration elements()
          Returns an enumeration of the values in this hashtable.
 Object get(int 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.
 Enumeration keys()
          Returns an enumeration of the keys in this hashtable.
 Object put(int key, Object value)
          Maps the specified key to the specified value in this hashtable.
protected  void rehash()
          Rehashes the contents of the hashtable into a hashtable with a larger capacity.
 Object remove(int key)
          Removes the key (and its corresponding value) from this hashtable.
 int size()
          Returns the number of keys in this hashtable.
 String toString()
          Returns a rather long string representation of this hashtable.
 void visit(IntHashtableVisitor visitor)
          Visitor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

count

protected int count
The total number of entries in the hash table.


table

protected com.sun.squawk.util.IntHashtableEntry[] table
The hash table data.


threshold

protected int threshold
Rehashes the table when count exceeds this threshold.

Constructor Detail

IntHashtable

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

Since:
JDK1.0

IntHashtable

public IntHashtable(int initialCapacity)
Constructs a new, empty hashtable with the specified initial capacity.

Parameters:
initialCapacity - the initial capacity of the hashtable.
Throws:
IllegalArgumentException - if the initial capacity is less than zero
Since:
JDK1.0
Method Detail

clear

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

Since:
JDK1.0

contains

public 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.
Since:
JDK1.0
See Also:
Hashtable.containsKey(java.lang.Object)

containsKey

public boolean containsKey(int 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.
Since:
JDK1.0
See Also:
Hashtable.contains(java.lang.Object)

elements

public 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.
Since:
JDK1.0
See Also:
Enumeration, Hashtable.keys()

get

public Object get(int 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.
Since:
JDK1.0
See Also:
Hashtable.put(java.lang.Object, java.lang.Object)

isEmpty

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

Returns:
true if this hashtable maps no keys to values; false otherwise.
Since:
JDK1.0

keys

public Enumeration keys()
Returns an enumeration of the keys in this hashtable.

Returns:
an enumeration of the keys in this hashtable.
Since:
JDK1.0
See Also:
Enumeration, Hashtable.elements()

put

public Object put(int 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.
Since:
JDK1.0
See Also:
Object.equals(java.lang.Object), Hashtable.get(java.lang.Object)

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.

Since:
JDK1.0

remove

public Object remove(int 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.
Since:
JDK1.0

size

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

Returns:
the number of keys in this hashtable.
Since:
JDK1.0

toString

public String toString()
Returns a rather long string representation of this hashtable.

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

visit

public void visit(IntHashtableVisitor visitor)
Visitor

Parameters:
visitor - the visitor object

SunSPOT API V5.0


Copyright � 2006-2008 Sun Microsystems, Inc. All Rights Reserved.