Class 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.

    See Also:
    Serialized Form
    • Field Detail

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