Package gw.util

Class DerivedKeyHashMap<K,V>

java.lang.Object
gw.util.DerivedKeyHashMap<K,V>
All Implemented Interfaces:
Map<K,V>

public abstract class DerivedKeyHashMap<K,V> extends Object implements Map<K,V>
  • Field Details

    • _table

      private Object[] _table
    • _size

      private int _size
  • Constructor Details

    • DerivedKeyHashMap

      public DerivedKeyHashMap()
    • DerivedKeyHashMap

      public DerivedKeyHashMap(Collection<V> values)
  • Method Details

    • hash

      protected int hash(Object key)
    • keyMatches

      protected abstract boolean keyMatches(Object key, V value)
    • getKeyForValue

      protected abstract K getKeyForValue(V value)
    • loadFactor

      protected abstract double loadFactor()
    • size

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

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

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

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

      public boolean containsValue(Object value)
      Specified by:
      containsValue 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>
    • clear

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

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet 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>
    • findValueWithMatchingKeyInChain

      private V findValueWithMatchingKeyInChain(Object key, Object entry)
    • hasMatchingValueInChain

      private boolean hasMatchingValueInChain(Object value, Object entry)
    • bucket

      private int bucket(Object key, int tableLength)
    • putImpl

      public V putImpl(K key, V value, Object[] table, boolean resizeIfNecessary)
    • resize

      private void resize(int newTableSize)