Class OpenIntToFieldHashMap<T extends FieldElement<T>>

java.lang.Object
org.hipparchus.util.AbstractOpenIntHashMap
org.hipparchus.util.OpenIntToFieldHashMap<T>
Type Parameters:
T - the type of the field elements
All Implemented Interfaces:
Serializable

public class OpenIntToFieldHashMap<T extends FieldElement<T>> extends AbstractOpenIntHashMap 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:
  • Constructor Details

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

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

      public OpenIntToFieldHashMap<T>.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
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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
    • growTable

      protected int growTable(int oldIndex)
      Grow the tables.
      Specified by:
      growTable in class AbstractOpenIntHashMap
      Parameters:
      oldIndex - index the entry being inserted should have used
      Returns:
      index the entry being inserted should really use