Class FlexibleHashMap<K,V>

java.lang.Object
org.antlr.v4.runtime.misc.FlexibleHashMap<K,V>
All Implemented Interfaces:
Map<K,V>
Direct Known Subclasses:
PredictionMode.AltAndContextMap

public class FlexibleHashMap<K,V> extends Object implements Map<K,V>
A limited map (many unsupported operations) that lets me use varying hashCode/equals.
  • Field Details

    • INITAL_CAPACITY

      public static final int INITAL_CAPACITY
      See Also:
    • INITAL_BUCKET_CAPACITY

      public static final int INITAL_BUCKET_CAPACITY
      See Also:
    • LOAD_FACTOR

      public static final double LOAD_FACTOR
      See Also:
    • comparator

      protected final AbstractEqualityComparator<? super K> comparator
    • buckets

      protected LinkedList<FlexibleHashMap.Entry<K,V>>[] buckets
    • n

      protected int n
      How many elements in set
    • currentPrime

      protected int currentPrime
    • threshold

      protected int threshold
      when to expand
    • initialCapacity

      protected final int initialCapacity
    • initialBucketCapacity

      protected final int initialBucketCapacity
  • Constructor Details

    • FlexibleHashMap

      public FlexibleHashMap()
    • FlexibleHashMap

      public FlexibleHashMap(AbstractEqualityComparator<? super K> comparator)
    • FlexibleHashMap

      public FlexibleHashMap(AbstractEqualityComparator<? super K> comparator, int initialCapacity, int initialBucketCapacity)
  • Method Details

    • createEntryListArray

      private static <K, V> LinkedList<FlexibleHashMap.Entry<K,V>>[] createEntryListArray(int length)
    • getBucket

      protected int getBucket(K key)
    • get

      public V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • remove

      public V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • containsKey

      public boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Map<K,V>
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Map<K,V>
      Overrides:
      equals in class Object
    • expand

      protected void expand()
    • size

      public int size()
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Map<K,V>
    • clear

      public void clear()
      Specified by:
      clear in interface Map<K,V>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toTableString

      public String toTableString()
    • main

      public static void main(String[] args)