net.rim.device.api.util
Class ToIntHashtable

java.lang.Object
  extended by net.rim.device.api.util.ToIntHashtable
All Implemented Interfaces:
Persistable

public class ToIntHashtable
extends Object
implements Persistable

This class implements a hashtable, which maps keys to values.

Any non-null object can be used as a key. To successfully store and retrieve values from a hashtable, the objects used as keys must implement the Object.hashCode() and Object.equals(java.lang.Object) methods.

A 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 invoking ToIntHashtable.rehash(). 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.


Constructor Summary
ToIntHashtable()
          Construct a new, empty hashtable with a default capacity and load factor.
ToIntHashtable(int initialCapacity)
          Construct a new, empty hashtable with the specified capacity.
 
Method Summary
 void clear()
          Flush this hashtable.
 boolean contains(int value)
          Determines if some key maps into the specified value in this hashtable.
 boolean containsKey(Object key)
          Determines if the argument specified is a key in this hashtable.
 IntEnumeration elements()
          Retrieves an enumeration of the values in this hashtable.
 int get(Object key)
          Retrieves value by key.
 boolean isEmpty()
          Determines if this hashtable maps no keys to values.
 Enumeration keys()
          Retrieves an enumeration of the keys in this hashtable.
 int put(Object key, int value)
          Maps value to key in this hashtable.
protected  void rehash()
          Rehashes the contents of this hashtable.
 int remove(Object key)
          Removes value by key.
 int size()
          Retrieves the number of keys in this hashtable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

ToIntHashtable

public ToIntHashtable(int initialCapacity)
Construct a new, empty hashtable with the specified capacity.

Parameters:
initialCapacity - Initial capacity of the hashtable.
Throws:
IllegalArgumentException - If the initial capacity is less than zero

ToIntHashtable

public ToIntHashtable()
Construct a new, empty hashtable with a default capacity and load factor.



Method Detail

size

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

Returns:
Number of keys in this hashtable.

isEmpty

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

Returns:
True if this hashtable has no keys mapped to values; otherwise, false.

keys

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

Returns:
Enumeration of keys in this hashtable.
See Also:
Enumeration, ToIntHashtable.elements()

elements

public IntEnumeration elements()
Retrieves an enumeration of the values in this hashtable.

Use the Enumeration methods on the returned object to fetch the elements sequentially.

Returns:
Enumeration of the values in this hashtable.
See Also:
Enumeration, ToIntHashtable.keys()

contains

public boolean contains(int value)
Determines if some key maps into the specified value in this hashtable.

This operation is more expensive than ToIntHashtable.containsKey(java.lang.Object).

Parameters:
value - Value to search for.
Returns:
True if some key maps to the provided value in this hashtable; otherwise, false.
Throws:
NullPointerException - If null value provided.

containsKey

public boolean containsKey(Object key)
Determines if the argument specified is a key in this hashtable.

Parameters:
key - Key to test.
Returns:
True if the provided argument is a key in this hashtable; otherwise, false.
See Also:
ToIntHashtable.contains(int)

clear

public void clear()
Flush this hashtable.

Invoke this method to remove all keys and values from this hashtable.


remove

public int remove(Object key)
Removes value by key.

If the key does not exist in this hashtable, then this method does nothing.

Parameters:
key - Key for value to remove.
Returns:
Value that had been associated with key, or -1 if no value had been associated with key.

get

public int get(Object key)
Retrieves value by key.

Parameters:
key - Key in this hashtable.
Returns:
Value associated with provided key, or -1 if no value associated with the key.

rehash

protected void rehash()
Rehashes the contents of this hashtable.

Invoke this method to rehash this hashtable into one with a larger capacity. This hashtable invokes this method automatically when the number of keys exceeds its capacity and load factor.


put

public int put(Object key,
               int value)
Maps value to key in this hashtable.

The value can be retrieved by invoking ToIntHashtable.get(java.lang.Object) with a key that is equal to the original key.

Parameters:
key - Key to associate with the value.
value - Value to put into table.
Returns:
Previous value associated with key, or -1 if key had no previous associated value.
Throws:
NullPointerException - If null key or null value.





Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal