public class StringIntHashMap extends Object
String values as keys mapped to primitive
int values. This implementation is unsynchronized in order to
provide the best possible performance for typical usage scenarios, so
explicit synchronization must be implemented by a wrapper class or directly
by the application in cases where instances are modified in a multithreaded
environment. The map implementation is not very efficient when resizing, but
works well when the size of the map is known in advance.| Modifier and Type | Field and Description |
|---|---|
protected static double |
DEFAULT_FILL
Default fill fraction allowed before growing table.
|
static int |
DEFAULT_NOT_FOUND
Default value returned when key not found in table.
|
protected int |
m_arraySize
Size of array used for keys.
|
protected int |
m_entryCount
Number of entries present in table.
|
protected int |
m_entryLimit
Entries allowed before growing table.
|
protected double |
m_fillFraction
Fill fraction allowed for this hash table.
|
protected int |
m_hitOffset
Offset added (modulo table size) to slot number on collision.
|
protected String[] |
m_keyTable
Array of key table slots.
|
protected int |
m_notFoundValue
Value returned when key not found in table.
|
protected int[] |
m_valueTable
Array of value table slots.
|
protected static int |
MINIMUM_SIZE
Minimum size used for hash table.
|
| Constructor and Description |
|---|
StringIntHashMap()
Default constructor.
|
StringIntHashMap(int count)
Constructor with only size supplied.
|
StringIntHashMap(int count,
double fill)
Constructor with size and fill fraction specified.
|
StringIntHashMap(int count,
double fill,
int miss)
Constructor with full specification.
|
StringIntHashMap(StringIntHashMap base)
Copy (clone) constructor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
add(String key,
int value)
Add an entry to the table.
|
Object |
clone()
Construct a copy of the table.
|
boolean |
containsKey(String key)
Check if an entry is present in the table.
|
int |
get(String key)
Find an entry in the table.
|
protected void |
internalRemove(int slot)
Internal remove pair from the table.
|
int |
remove(String key)
Remove an entry from the table.
|
public static final int DEFAULT_NOT_FOUND
protected static final double DEFAULT_FILL
protected static final int MINIMUM_SIZE
protected final double m_fillFraction
protected int m_entryCount
protected int m_entryLimit
protected int m_arraySize
protected int m_hitOffset
protected String[] m_keyTable
protected int[] m_valueTable
protected int m_notFoundValue
public StringIntHashMap(int count,
double fill,
int miss)
count - number of values to assume in initial sizing of tablefill - fraction full allowed for table before growingmiss - value returned when key not found in tablepublic StringIntHashMap(int count,
double fill)
count - number of values to assume in initial sizing of tablefill - fraction full allowed for table before growingpublic StringIntHashMap(int count)
count - number of values to assume in initial sizing of tablepublic StringIntHashMap()
public StringIntHashMap(StringIntHashMap base)
base - instance being copiedprotected void internalRemove(int slot)
null and adjusting the count
present, then chains through the table to reinsert any other pairs
which may have collided with the removed pair. If the associated value
is an object reference, it should be set to null before
this method is called.slot - index number of pair to be removedpublic int add(String key, int value)
key - key to be added to table (non- null)value - associated value for keypublic final boolean containsKey(String key)
key - key for entry to be foundtrue if key found in table, false
if notpublic final int get(String key)
key - key for entry to be returnedpublic int remove(String key)
key - key to be removed from tableCopyright © 2005-2013 jibx.org. All Rights Reserved.