## org.jibx.runtime.impl
Class StringIntHashMap

    java.lang.Object
      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 |