Package gw.util
Class DerivedKeyHashMap<K,V>
- java.lang.Object
-
- gw.util.DerivedKeyHashMap<K,V>
-
- All Implemented Interfaces:
java.util.Map<K,V>
public abstract class DerivedKeyHashMap<K,V> extends java.lang.Object implements java.util.Map<K,V>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classDerivedKeyHashMap.ChainedEntry<V>private classDerivedKeyHashMap.KeyIteratorprivate classDerivedKeyHashMap.KeySetprivate classDerivedKeyHashMap.ValueIterator
-
Constructor Summary
Constructors Constructor Description DerivedKeyHashMap()DerivedKeyHashMap(java.util.Collection<V> values)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private intbucket(java.lang.Object key, int tableLength)voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.Set<java.util.Map.Entry<K,V>>entrySet()private VfindValueWithMatchingKeyInChain(java.lang.Object key, java.lang.Object entry)Vget(java.lang.Object key)protected abstract KgetKeyForValue(V value)protected inthash(java.lang.Object key)private booleanhasMatchingValueInChain(java.lang.Object value, java.lang.Object entry)booleanisEmpty()protected abstract booleankeyMatches(java.lang.Object key, V value)java.util.Set<K>keySet()protected abstract doubleloadFactor()Vput(K key, V value)voidputAll(java.util.Map<? extends K,? extends V> m)VputImpl(K key, V value, java.lang.Object[] table, boolean resizeIfNecessary)Vremove(java.lang.Object key)private voidresize(int newTableSize)intsize()java.util.Collection<V>values()
-
-
-
Constructor Detail
-
DerivedKeyHashMap
public DerivedKeyHashMap()
-
DerivedKeyHashMap
public DerivedKeyHashMap(java.util.Collection<V> values)
-
-
Method Detail
-
hash
protected int hash(java.lang.Object key)
-
keyMatches
protected abstract boolean keyMatches(java.lang.Object key, V value)
-
loadFactor
protected abstract double loadFactor()
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
values
public java.util.Collection<V> values()
-
findValueWithMatchingKeyInChain
private V findValueWithMatchingKeyInChain(java.lang.Object key, java.lang.Object entry)
-
hasMatchingValueInChain
private boolean hasMatchingValueInChain(java.lang.Object value, java.lang.Object entry)
-
bucket
private int bucket(java.lang.Object key, int tableLength)
-
resize
private void resize(int newTableSize)
-
-