Class OpenIntToDoubleHashMap

java.lang.Object
org.apache.commons.math4.util.OpenIntToDoubleHashMap
All Implemented Interfaces:
java.io.Serializable

public class OpenIntToDoubleHashMap
extends java.lang.Object
implements java.io.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 byte FREE
    Status indicator for free table entries.
    protected static byte FULL
    Status indicator for full table entries.
    protected static 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

  • 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

      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