|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.util.IntHashtable
public class IntHashtable
This class implements a hashtable, 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 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 IntHashtable.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.
This example creates a hashtable of numbers. It uses the names of the numbers as keys:
Hashtable numbers = new Hashtable(); 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); }
This hashtable implementation is significantly more object-efficient than
the original JDK version. However, for hashtables mapping integers to
objects or integers to integers, see
IntHashtable
and
IntIntHashtable
.
Constructor Summary | ||
---|---|---|
IntHashtable()
Construct a new, empty hashtable with a default capacity and load factor. |
||
IntHashtable(int initialCapacity)
Construct a new, empty hashtable with the specified capacity. |
Method Summary | ||
---|---|---|
void |
clear()
Flush this hashtable. |
|
boolean |
contains(Object value)
Determines if some key maps into the specified value in this hashtable. |
|
boolean |
containsKey(int key)
Determines if the argument specified is a key in this hashtable. |
|
Enumeration |
elements()
Retrieves an enumeration of the values in this hashtable. |
|
Object |
get(int key)
Retrieves value by key. |
|
boolean |
isEmpty()
Determines if this hashtable maps no keys to values. |
|
IntEnumeration |
keys()
Retrieves an enumeration of the keys in this hashtable. |
|
int |
keysToArray(int[] array)
Extract keys into an array. |
|
Object |
put(int key,
Object value)
Maps value to key in this hashtable. |
|
protected void |
rehash()
Rehashes the contents of this hashtable. |
|
Object |
remove(int key)
Removes value by key. |
|
void |
removeValue(Object value)
Removes all matching values. |
|
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 |
---|
public IntHashtable(int initialCapacity)
initialCapacity
- Initial capacity of the hashtable.
IllegalArgumentException
- If the initial capacity is less than
zeropublic IntHashtable()
Method Detail |
---|
public int size()
public boolean isEmpty()
public IntEnumeration keys()
Enumeration
,
IntHashtable.elements()
public Enumeration elements()
Use the Enumeration methods on the returned object to fetch the elements sequentially.
Enumeration
,
IntHashtable.keys()
public boolean contains(Object value)
This operation is more expensive than IntHashtable.containsKey(int)
.
value
- Value to search for.
NullPointerException
- If null value provided.public boolean containsKey(int key)
key
- Key to test.
IntHashtable.contains(java.lang.Object)
public void removeValue(Object value)
Note: The comparison is performed using ==
rather
than Object.equals(java.lang.Object)
.
value
- Value to search for and remove.public void clear()
Invoke this method to remove all keys and values from this hashtable.
public Object remove(int key)
If the key does not exist in this hashtable, then this method does nothing.
key
- Key for value to remove.
public Object get(int key)
key
- Key in this hashtable.
protected void rehash()
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.
public Object put(int key, Object value)
The value can be retrieved by invoking IntHashtable.get(int)
with a key that
is equal to the original key.
key
- Key to associate with the value.value
- Value to put into table.
NullPointerException
- If null key or null value.public int keysToArray(int[] array)
array
- Array to contain the keys; the array must be large enough to
contain all the keys.
ArrayIndexOutOfBoundsException
- If the array isn't big enough.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.