| java.lang.Object org.jibx.runtime.impl.StringIntHashMap
StringIntHashMap | public class StringIntHashMap (Code) | | Hash map using 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.
author: Dennis M. Sosnoski version: 1.1 |
Field Summary | |
final protected static double | DEFAULT_FILL Default fill fraction allowed before growing table. | final public static int | DEFAULT_NOT_FOUND Default value returned when key not found in table. | final protected static int | MINIMUM_SIZE Minimum size used for hash 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. | final 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. |
Method Summary | |
public int | add(String key, int value) Add an entry to the table. | public Object | clone() Construct a copy of the table. | final public boolean | containsKey(String key) Check if an entry is present in the table. | final public int | get(String key) Find an entry in the table. | protected void | internalRemove(int slot) Internal remove pair from the table. | public int | remove(String key) Remove an entry from the table. |
DEFAULT_FILL | final protected static double DEFAULT_FILL(Code) | | Default fill fraction allowed before growing table.
|
DEFAULT_NOT_FOUND | final public static int DEFAULT_NOT_FOUND(Code) | | Default value returned when key not found in table.
|
MINIMUM_SIZE | final protected static int MINIMUM_SIZE(Code) | | Minimum size used for hash table.
|
m_arraySize | protected int m_arraySize(Code) | | Size of array used for keys.
|
m_entryCount | protected int m_entryCount(Code) | | Number of entries present in table.
|
m_entryLimit | protected int m_entryLimit(Code) | | Entries allowed before growing table.
|
m_fillFraction | final protected double m_fillFraction(Code) | | Fill fraction allowed for this hash table.
|
m_hitOffset | protected int m_hitOffset(Code) | | Offset added (modulo table size) to slot number on collision.
|
m_keyTable | protected String[] m_keyTable(Code) | | Array of key table slots.
|
m_notFoundValue | protected int m_notFoundValue(Code) | | Value returned when key not found in table.
|
m_valueTable | protected int[] m_valueTable(Code) | | Array of value table slots.
|
StringIntHashMap | public StringIntHashMap(int count, double fill, int miss)(Code) | | Constructor with full specification.
Parameters: count - number of values to assume in initial sizing of table Parameters: fill - fraction full allowed for table before growing Parameters: miss - value returned when key not found in table |
StringIntHashMap | public StringIntHashMap(int count, double fill)(Code) | | Constructor with size and fill fraction specified. Uses default hash
technique and value returned when key not found in table.
Parameters: count - number of values to assume in initial sizing of table Parameters: fill - fraction full allowed for table before growing |
StringIntHashMap | public StringIntHashMap(int count)(Code) | | Constructor with only size supplied. Uses default hash technique and
values for fill fraction and value returned when key not found in table.
Parameters: count - number of values to assume in initial sizing of table |
StringIntHashMap | public StringIntHashMap()(Code) | | Default constructor.
|
StringIntHashMap | public StringIntHashMap(StringIntHashMap base)(Code) | | Copy (clone) constructor.
Parameters: base - instance being copied |
add | public int add(String key, int value)(Code) | | Add an entry to the table. If the key is already present in the table,
this replaces the existing value associated with the key.
Parameters: key - key to be added to table (non- null ) Parameters: value - associated value for key value previously associated with key, or reserved not found valueif key not previously present in table |
clone | public Object clone()(Code) | | Construct a copy of the table.
shallow copy of table |
containsKey | final public boolean containsKey(String key)(Code) | | Check if an entry is present in the table. This method is supplied to
support the use of values matching the reserved not found value.
Parameters: key - key for entry to be found true if key found in table, false if not |
get | final public int get(String key)(Code) | | Find an entry in the table.
Parameters: key - key for entry to be returned value for key, or reserved not found value if key not found |
internalRemove | protected void internalRemove(int slot)(Code) | | Internal remove pair from the table. Removes the pair from the table
by setting the key entry to 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.
Parameters: slot - index number of pair to be removed |
remove | public int remove(String key)(Code) | | Remove an entry from the table. If multiple entries are present with the
same key value, only the first one found will be removed.
Parameters: key - key to be removed from table value associated with removed key, or reserved not found value ifkey not found in table |
|
|