Package org.apache.commons.math3.util

# Class OpenIntToDoubleHashMap

java.lang.Object
org.apache.commons.math3.util.OpenIntToDoubleHashMap

All Implemented Interfaces:
  `Serializable`

public class OpenIntToDoubleHashMap extends Object implements Serializable
Open addressed map from int to double.

This class provides a dedicated map from integers to doubles with a much smaller memory overhead than standard `java.util.Map`.

This class is not synchronized. The specialized iterators returned by `iterator()` are fail-fast: they throw a `ConcurrentModificationException` when they detect the map has been modified during iteration.

Since:
  2.0
See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`OpenIntToDoubleHashMap.Iterator`
Iterator class for the map.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final byte`
`FREE`
Status indicator for free table entries.
`protected static final byte`
`FULL`
Status indicator for full table entries.
`protected static final byte`
`REMOVED`
Status indicator for removed table entries.

## Constructor Summary

Constructors
Constructor
Description
`OpenIntToDoubleHashMap()`
Build an empty map with default size and using NaN for missing entries.
`OpenIntToDoubleHashMap(double missingEntries)`
Build an empty map with default size
`OpenIntToDoubleHashMap(int expectedSize)`
Build an empty map with specified size and using NaN for missing entries.
`OpenIntToDoubleHashMap(int expectedSize, double missingEntries)`
Build an empty map with specified size.
`OpenIntToDoubleHashMap(OpenIntToDoubleHashMap source)`
Copy constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`containsKey(int key)`
Check if a value is associated with a key.
`double`
`get(int key)`
Get the stored value associated with the given key
`OpenIntToDoubleHashMap.Iterator`
`iterator()`
Get an iterator over map elements.
`double`
`put(int key, double value)`
Put a value associated with a key in the map.
`double`
`remove(int key)`
Remove the value associated with a key.
`int`
`size()`
Get the number of elements stored in the map.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### FREE

protected static final byte FREE
Status indicator for free table entries.

See Also:
  - Constant Field Values

### FULL

protected static final byte FULL
Status indicator for full table entries.

See Also:
  - Constant Field Values

### REMOVED

protected static final byte REMOVED
Status indicator for removed table entries.

See Also:
  - Constant Field Values

## Constructor Details

### OpenIntToDoubleHashMap

public OpenIntToDoubleHashMap()
Build an empty map with default size and using NaN for missing entries.

### OpenIntToDoubleHashMap

public OpenIntToDoubleHashMap(double missingEntries)
Build an empty map with default size

Parameters:
  `missingEntries` - value to return when a missing entry is fetched

### OpenIntToDoubleHashMap

public OpenIntToDoubleHashMap(int expectedSize)
Build an empty map with specified size and using NaN for missing entries.

Parameters:
  `expectedSize` - expected number of elements in the map

### OpenIntToDoubleHashMap

public OpenIntToDoubleHashMap(int expectedSize, double missingEntries)
Build an empty map with specified size.

Parameters:
  `expectedSize` - expected number of elements in the map
  `missingEntries` - value to return when a missing entry is fetched

### OpenIntToDoubleHashMap

public OpenIntToDoubleHashMap(OpenIntToDoubleHashMap source)
Copy constructor.

Parameters:
  `source` - map to copy

## Method Details

### get

public double get(int key)
Get the stored value associated with the given key

Parameters:
  `key` - key associated with the data
Returns:
  data associated with the key

### containsKey

public boolean containsKey(int key)
Check if a value is associated with a key.

Parameters:
  `key` - key to check
Returns:
  true if a value is associated with key

### iterator

public OpenIntToDoubleHashMap.Iterator iterator()
Get an iterator over map elements.

The specialized iterators returned are fail-fast: they throw a `ConcurrentModificationException` when they detect the map has been modified during iteration.

Returns:
  iterator over the map elements

### size

public int size()
Get the number of elements stored in the map.

Returns:
  number of elements stored in the map

### remove

public double remove(int key)
Remove the value associated with a key.

Parameters:
  `key` - key to which the value is associated
Returns:
  removed value

### put

public double put(int key, double value)
Put a value associated with a key in the map.

Parameters:
  `key` - key to which value is associated
  `value` - value to put in the map
Returns:
  previous value associated with the key