Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## waba.util
Class IntHashtable

    java.lang.Object
      |
      +--waba.util.IntHashtable

public final class IntHashtable
extends Object

This class implements a hashtable, which maps keys to values. Both key and value must be int's.

If an error occurs, IntHashtable.NotFound is returned. it corresponds to the minimum negative value of an integer. So, this value (-2147483648) cannot be a key of this IntHashTable.

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:

>          IntHashtable numbers = new IntHashtable();
>          numbers.put(1, 1000);
>          numbers.put(2, 2000);
>          numbers.put(3, 3000);

To retrieve a number, use the following code:

>          int i = numbers.get(2);
>          if (i != IntHashtable.INVALID) {
>              Vm.debug("two = " + i);
>          }

Important notes (added by guich)

There are no default constructor to decrease memory usage.

thanks to Arthur van Hoff

Field Summary
`static int` | `INVALID`

Constructor Summary
`IntHashtable(DataStream ds)` Reconstructs a previously saved IntHashtable, reading it from the given Stream.
`IntHashtable(int initialCapacity)` Constructs a new, empty hashtable with the specified initial capacity and default load factor of 0.75f.
`IntHashtable(int initialCapacity, float loadFactor)` Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

Method Summary
`void` | `clear()` Clears this hashtable so that it contains no keys.
`int` | `get(int key)` Returns the value to which the specified key is mapped in this hashtable.
`IntVector` | `getKeys()` Return an IntVector of the keys in the IntHashtable.
`int` | `put(int key, int 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.
`int` | `remove(int key)` Removes the key (and its corresponding value) from this hashtable.
`void` | `saveTo(DataStream ds)` Saves this IntHashtable to a Stream.
`int` | `size()` Returns the number of keys in this hashtable.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, toString, wait, wait`

Field Detail

### INVALID

    public static int INVALID

Constructor Detail

### IntHashtable

    public IntHashtable(DataStream ds)

  Reconstructs a previously saved IntHashtable, reading it from the given Stream. Note that the Hashtable may change the order of the entries, since the keys will be inserted in different order. The IntHashtable must be saved with the method saveTo.

### IntHashtable

    public IntHashtable(int initialCapacity)

  Constructs a new, empty hashtable with the specified initial capacity and default load factor of 0.75f.
  Parameters:
    `initialCapacity` - the initial capacity of the hashtable.

### IntHashtable

    public IntHashtable(int initialCapacity,
                        float loadFactor)

  Constructs a new, empty hashtable with the specified initial capacity and the specified load factor. If initialCapacity is zero, it is changed to 5.
  Parameters:
    `initialCapacity` - the initial capacity of the hashtable.
    `loadFactor` - a number between 0.0 and 1.0.

Method Detail

### clear

    public void clear()

  Clears this hashtable so that it contains no keys.

### get

    public int 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.

### getKeys

    public IntVector getKeys()

  Return an IntVector of the keys in the IntHashtable. Added ds@120. corrected by dgecawich@200

### put

    public int put(int key,
                   int 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 `IntHashtable.INVALID` if it did not have one.
  See Also:
    `Object.equals(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.

### remove

    public int 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.

### size

    public int size()

  Returns the number of keys in this hashtable.
  Returns:
    the number of keys in this hashtable.

### saveTo

    public void saveTo(DataStream ds)

  Saves this IntHashtable to a Stream. Use the constructor IntHashtable(DataStream ds) to reconstruct the saved IntHashtable.
  Since:
    SuperWaba2.0beta4

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD