Class OpenIntToFieldHashMap<T extends FieldElement<T>>

java.lang.Object
org.apache.commons.math4.util.OpenIntToFieldHashMap<T>
Type Parameters:
T - the type of the field elements
All Implemented Interfaces:
java.io.Serializable

public class OpenIntToFieldHashMap<T extends FieldElement<T>>
extends java.lang.Object
implements java.io.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.

Since:
2.0
See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    class  OpenIntToFieldHashMap.Iterator
    Iterator class for the map.
  • 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.
  • Constructor Summary

    Constructors 
    Constructor Description
    OpenIntToFieldHashMap​(Field<T> field)
    Build an empty map with default size and using zero for missing entries.
    OpenIntToFieldHashMap​(Field<T> field, int expectedSize)
    Build an empty map with specified size and using zero for missing entries.
    OpenIntToFieldHashMap​(Field<T> field, int expectedSize, T missingEntries)
    Build an empty map with specified size.
    OpenIntToFieldHashMap​(Field<T> field, T missingEntries)
    Build an empty map with default size
    OpenIntToFieldHashMap​(OpenIntToFieldHashMap<T> source)
    Copy constructor.
  • Method Summary

    Modifier and Type Method Description
    boolean containsKey​(int key)
    Check if a value is associated with a key.
    T get​(int key)
    Get the stored value associated with the given key
    OpenIntToFieldHashMap.Iterator iterator()
    Get an iterator over map elements.
    T put​(int key, T value)
    Put a value associated with a key in the map.
    T 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 Details

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