Class OpenIntToFieldHashMap<T extends FieldElement<T>>

  • Type Parameters:
    T - the type of the field elements
    All Implemented Interfaces:
    Serializable

    public class OpenIntToFieldHashMap<T extends FieldElement<T>>
    extends Object
    implements Serializable
    Open addressed map from int to FieldElement.

    This class provides a dedicated map from integers to FieldElements 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

      • OpenIntToFieldHashMap

        public OpenIntToFieldHashMap​(Field<T> field)
        Build an empty map with default size and using zero for missing entries.
        Parameters:
        field - field to which the elements belong
      • OpenIntToFieldHashMap

        public OpenIntToFieldHashMap​(Field<T> field,
                                     T missingEntries)
        Build an empty map with default size
        Parameters:
        field - field to which the elements belong
        missingEntries - value to return when a missing entry is fetched
      • OpenIntToFieldHashMap

        public OpenIntToFieldHashMap​(Field<T> field,
                                     int expectedSize)
        Build an empty map with specified size and using zero for missing entries.
        Parameters:
        field - field to which the elements belong
        expectedSize - expected number of elements in the map
      • OpenIntToFieldHashMap

        public OpenIntToFieldHashMap​(Field<T> field,
                                     int expectedSize,
                                     T missingEntries)
        Build an empty map with specified size.
        Parameters:
        field - field to which the elements belong
        expectedSize - expected number of elements in the map
        missingEntries - value to return when a missing entry is fetched
      • OpenIntToFieldHashMap

        public OpenIntToFieldHashMap​(OpenIntToFieldHashMap<T> source)
        Copy constructor.
        Parameters:
        source - map to copy
    • Method Detail

      • get

        public T 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 OpenIntToFieldHashMap.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 T remove​(int key)
        Remove the value associated with a key.
        Parameters:
        key - key to which the value is associated
        Returns:
        removed value
      • put

        public T put​(int key,
                     T 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