Class 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • 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