## net.sf.saxon.sort
Class IntToIntHashMap

    java.lang.Object
      net.sf.saxon.sort.IntToIntHashMap

All Implemented Interfaces:
  java.io.Serializable, IntToIntMap

    public class IntToIntHashMap

extends java.lang.Object
implements java.io.Serializable, IntToIntMap

A hash table that maps int keys to int values.

Author:
  Dave Hale, Landmark Graphics, Dominique Devienne, Michael Kay: created this class based on IntHashMap
See Also:
  Serialized Form

Constructor Summary
`IntToIntHashMap()` Initializes a map with a capacity of 8 and a load factor of 0,25.
`IntToIntHashMap(int capacity)` Initializes a map with the given capacity and a load factor of 0,25.
`IntToIntHashMap(int capacity, double factor)` Constructs a new map with initial capacity, and load factor.

Method Summary
`void` `clear()` Clears the map.
`boolean` `find(int key)` Finds a key in the map.
`int` `get(int key)` Gets the value for this key.
`int` `getDefaultValue()` Get the default value used to indicate an unused entry
`IntIterator` `keyIterator()` Get an iterator over the integer key values held in the hash map
`void` `put(int key, int value)` Adds a key-value pair to the map.
`boolean` `remove(int key)` Removes a key from the map.
`void` `setDefaultValue(int defaultValue)` Set the value to be returned to indicate an unused entry
`int` `size()` Gets the size of the map.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IntToIntHashMap

    public IntToIntHashMap()

  Initializes a map with a capacity of 8 and a load factor of 0,25.

### IntToIntHashMap

    public IntToIntHashMap(int capacity)

  Initializes a map with the given capacity and a load factor of 0,25.

  Parameters:
    `capacity` - the initial capacity.

### IntToIntHashMap

    public IntToIntHashMap(int capacity,
                           double factor)

  Constructs a new map with initial capacity, and load factor.

  The capacity is the number of keys that can be mapped without resizing the arrays in which keys and values are stored. For efficiency, only a fraction of the elements in those arrays are used. That fraction is the specified load factor. The initial length of the arrays equals the smallest power of two not less than the ratio capacity/factor. The capacity of the map is increased, as necessary. The maximum number of keys that can be mapped is 2^30.

  Parameters:
    `capacity` - the initial capacity.
    `factor` - the load factor.

Method Detail

### setDefaultValue

    public void setDefaultValue(int defaultValue)

  Set the value to be returned to indicate an unused entry

  Specified by:
    `setDefaultValue` in interface `IntToIntMap`
  Parameters:
    `defaultValue` - the value to be returned by `get(int)` if no entry exists for the supplied key

### getDefaultValue

    public int getDefaultValue()

  Get the default value used to indicate an unused entry

  Specified by:
    `getDefaultValue` in interface `IntToIntMap`
  Returns:
    the value to be returned by `get(int)` if no entry exists for the supplied key

### clear

    public void clear()

  Clears the map.

  Specified by:
    `clear` in interface `IntToIntMap`

### find

    public boolean find(int key)

  Finds a key in the map.

  Specified by:
    `find` in interface `IntToIntMap`
  Parameters:
    `key` - Key
  Returns:
    true if the key is mapped

### get

    public int get(int key)

  Gets the value for this key.

  Specified by:
    `get` in interface `IntToIntMap`
  Parameters:
    `key` - Key
  Returns:
    the value, or the default value if not found.

### size

    public int size()

  Gets the size of the map.

  Specified by:
    `size` in interface `IntToIntMap`
  Returns:
    the size

### remove

    public boolean remove(int key)

  Removes a key from the map.

  Specified by:
    `remove` in interface `IntToIntMap`
  Parameters:
    `key` - Key to remove
  Returns:
    true if the value was removed

### put

    public void put(int key,
                    int value)

  Adds a key-value pair to the map.

  Specified by:
    `put` in interface `IntToIntMap`
  Parameters:
    `key` - Key
    `value` - Value

### keyIterator

    public IntIterator keyIterator()

  Get an iterator over the integer key values held in the hash map

  Specified by:
    `keyIterator` in interface `IntToIntMap`
  Returns:
    an iterator whose next() call returns the key values (in arbitrary order)

Copyright (c) Saxonica Limited. All rights reserved.