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
    Version:
    $Revision: 990655 $ $Date: 2010-08-29 23:49:40 +0200 (dim. 29 août 2010) $
    See Also:
    Serialized Form
    • 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.
    • 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

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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