Class FlexibleHashMap<K,​V>

  • All Implemented Interfaces:
    java.util.Map<K,​V>
    Direct Known Subclasses:
    PredictionMode.AltAndContextMap

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

      • n

        protected int n
        How many elements in set
      • threshold

        protected int threshold
      • currentPrime

        protected int currentPrime
      • initialBucketCapacity

        protected int initialBucketCapacity
    • Constructor Detail

      • FlexibleHashMap

        public FlexibleHashMap()
      • FlexibleHashMap

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

      • createEntryListArray

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

        protected int getBucket​(K key)
      • get

        public V get​(java.lang.Object key)
        Specified by:
        get in interface java.util.Map<K,​V>
      • put

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

        public V remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map<K,​V>
      • putAll

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

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

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

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

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

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

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

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

        protected void expand()
      • size

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

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

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

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

        public java.lang.String toTableString()
      • main

        public static void main​(java.lang.String[] args)