org.jibx.runtime.impl
Class StringIntHashMap

java.lang.Object
  extended by org.jibx.runtime.impl.StringIntHashMap

public class StringIntHashMap
extends java.lang.Object

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.

Version:
1.1
Author:
Dennis M. Sosnoski

Field Summary
static int DEFAULT_NOT_FOUND
          Default value returned when key not found in table.
 
Constructor Summary
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.
 
Method Summary
 int add(java.lang.String key, int value)
          Add an entry to the table.
 java.lang.Object clone()
          Construct a copy of the table.
 boolean containsKey(java.lang.String key)
          Check if an entry is present in the table.
 int get(java.lang.String key)
          Find an entry in the table.
 int remove(java.lang.String key)
          Remove an entry from the table.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_NOT_FOUND

public static final int DEFAULT_NOT_FOUND
Default value returned when key not found in table.

See Also:
Constant Field Values
Constructor Detail

StringIntHashMap

public StringIntHashMap(int count,
                        double fill,
                        int miss)
Constructor with full specification.

Parameters:
count - number of values to assume in initial sizing of table
fill - fraction full allowed for table before growing
miss - value returned when key not found in table

StringIntHashMap

public StringIntHashMap(int count,
                        double fill)
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
fill - fraction full allowed for table before growing

StringIntHashMap

public StringIntHashMap(int count)
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()
Default constructor.


StringIntHashMap

public StringIntHashMap(StringIntHashMap base)
Copy (clone) constructor.

Parameters:
base - instance being copied
Method Detail

add

public int add(java.lang.String key,
               int value)
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)
value - associated value for key
Returns:
value previously associated with key, or reserved not found value if key not previously present in table

containsKey

public final boolean containsKey(java.lang.String key)
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
Returns:
true if key found in table, false if not

get

public final int get(java.lang.String key)
Find an entry in the table.

Parameters:
key - key for entry to be returned
Returns:
value for key, or reserved not found value if key not found

remove

public int remove(java.lang.String key)
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
Returns:
value associated with removed key, or reserved not found value if key not found in table

clone

public java.lang.Object clone()
Construct a copy of the table.

Overrides:
clone in class java.lang.Object
Returns:
shallow copy of table


Project Web Site