Package gnu.trove
Class THashMap<K,V>
- java.lang.Object
-
- gnu.trove.THash
-
- gnu.trove.TObjectHash<K>
-
- gnu.trove.THashMap<K,V>
-
- All Implemented Interfaces:
TObjectHashingStrategy<K>
,java.io.Externalizable
,java.io.Serializable
,java.lang.Cloneable
,java.util.Map<K,V>
public class THashMap<K,V> extends TObjectHash<K> implements java.util.Map<K,V>, java.io.Externalizable
An implementation of the Map interface which uses an open addressed hash table to store its contents. Created: Sun Nov 4 08:52:45 2001- Version:
- $Id: THashMap.java,v 1.33 2008/05/08 17:42:55 robeden Exp $
- Author:
- Eric D. Friedman
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
THashMap.EntryView
a view onto the entries of the map.protected class
THashMap.KeyView
a view onto the keys of the map.protected class
THashMap.ValueView
a view onto the values of the map.
-
Field Summary
Fields Modifier and Type Field Description protected V[]
_values
the values of the map-
Fields inherited from class gnu.trove.TObjectHash
_hashingStrategy, _set, FREE, REMOVED
-
Fields inherited from class gnu.trove.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR
-
-
Constructor Summary
Constructors Constructor Description THashMap()
Creates a newTHashMap
instance with the default capacity and load factor.THashMap(int initialCapacity)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.THashMap(int initialCapacity, float loadFactor)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.THashMap(int initialCapacity, float loadFactor, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.THashMap(int initialCapacity, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.THashMap(TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with the default capacity and load factor.THashMap(java.util.Map<K,V> map)
Creates a newTHashMap
instance which contains the key/value pairs in map.THashMap(java.util.Map<K,V> map, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance which contains the key/value pairs in map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Empties the map.THashMap<K,V>
clone()
boolean
containsKey(java.lang.Object key)
checks for the present of key in the keys of the map.boolean
containsValue(java.lang.Object val)
checks for the presence of val in the values of the map.java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
Returns a Set view on the entries of the map.boolean
equals(java.lang.Object other)
Compares this map with another map for equality of their stored entries.boolean
forEachEntry(TObjectObjectProcedure<K,V> procedure)
Executes procedure for each key/value entry in the map.boolean
forEachKey(TObjectProcedure<K> procedure)
Executes procedure for each key in the map.boolean
forEachValue(TObjectProcedure<V> procedure)
Executes procedure for each value in the map.V
get(java.lang.Object key)
retrieves the value for keyint
hashCode()
java.util.Set<K>
keySet()
returns a Set view on the keys of the map.V
put(K key, V value)
Inserts a key/value pair into the map.void
putAll(java.util.Map<? extends K,? extends V> map)
copies the key/value mappings in map into this map.V
putIfAbsent(K key, V value)
Inserts a key/value pair into the map if the specified key is not already associated with a value.void
readExternal(java.io.ObjectInput in)
protected void
rehash(int newCapacity)
rehashes the map to the new capacity.V
remove(java.lang.Object key)
Deletes a key/value pair from the map.protected void
removeAt(int index)
removes the mapping at index from the map.boolean
retainEntries(TObjectObjectProcedure<K,V> procedure)
Retains only those entries in the map for which the procedure returns a true value.protected int
setUp(int initialCapacity)
initialize the value array of the map.java.lang.String
toString()
void
transformValues(TObjectFunction<V,V> function)
Transform the values in this map using function.java.util.Collection<V>
values()
Returns a view on the values of the map.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class gnu.trove.TObjectHash
capacity, computeHashCode, contains, equals, forEach, index, insertionIndex, throwObjectContractViolation
-
Methods inherited from class gnu.trove.THash
calculateGrownCapacity, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
-
-
-
-
Field Detail
-
_values
protected transient V[] _values
the values of the map
-
-
Constructor Detail
-
THashMap
public THashMap()
Creates a newTHashMap
instance with the default capacity and load factor.
-
THashMap
public THashMap(TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with the default capacity and load factor.- Parameters:
strategy
- used to compute hash codes and to compare objects.
-
THashMap
public THashMap(int initialCapacity)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.- Parameters:
initialCapacity
- anint
value
-
THashMap
public THashMap(int initialCapacity, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.- Parameters:
initialCapacity
- anint
valuestrategy
- used to compute hash codes and to compare objects.
-
THashMap
public THashMap(int initialCapacity, float loadFactor)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.- Parameters:
initialCapacity
- anint
valueloadFactor
- afloat
value
-
THashMap
public THashMap(int initialCapacity, float loadFactor, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.- Parameters:
initialCapacity
- anint
valueloadFactor
- afloat
valuestrategy
- used to compute hash codes and to compare objects.
-
THashMap
public THashMap(java.util.Map<K,V> map)
Creates a newTHashMap
instance which contains the key/value pairs in map.- Parameters:
map
- aMap
value
-
THashMap
public THashMap(java.util.Map<K,V> map, TObjectHashingStrategy<K> strategy)
Creates a newTHashMap
instance which contains the key/value pairs in map.- Parameters:
map
- aMap
valuestrategy
- used to compute hash codes and to compare objects.
-
-
Method Detail
-
clone
public THashMap<K,V> clone()
- Overrides:
clone
in classTObjectHash<K>
- Returns:
- a shallow clone of this collection
-
setUp
protected int setUp(int initialCapacity)
initialize the value array of the map.- Overrides:
setUp
in classTObjectHash<K>
- Parameters:
initialCapacity
- anint
value- Returns:
- an
int
value
-
putIfAbsent
public V putIfAbsent(K key, V value)
Inserts a key/value pair into the map if the specified key is not already associated with a value.
-
equals
public boolean equals(java.lang.Object other)
Compares this map with another map for equality of their stored entries.
-
hashCode
public int hashCode()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
forEachKey
public boolean forEachKey(TObjectProcedure<K> procedure)
Executes procedure for each key in the map.- Parameters:
procedure
- aTObjectProcedure
value- Returns:
- false if the loop over the keys terminated because the procedure returned false for some key.
-
forEachValue
public boolean forEachValue(TObjectProcedure<V> procedure)
Executes procedure for each value in the map.- Parameters:
procedure
- aTObjectProcedure
value- Returns:
- false if the loop over the values terminated because the procedure returned false for some value.
-
forEachEntry
public boolean forEachEntry(TObjectObjectProcedure<K,V> procedure)
Executes procedure for each key/value entry in the map.- Parameters:
procedure
- aTObjectObjectProcedure
value- Returns:
- false if the loop over the entries terminated because the procedure returned false for some entry.
-
retainEntries
public boolean retainEntries(TObjectObjectProcedure<K,V> procedure)
Retains only those entries in the map for which the procedure returns a true value.- Parameters:
procedure
- determines which entries to keep- Returns:
- true if the map was modified.
-
transformValues
public void transformValues(TObjectFunction<V,V> function)
Transform the values in this map using function.- Parameters:
function
- aTObjectFunction
value
-
rehash
protected void rehash(int newCapacity)
rehashes the map to the new capacity.
-
get
public V get(java.lang.Object key)
retrieves the value for key
-
clear
public void clear()
Empties the map.
-
remove
public V remove(java.lang.Object key)
Deletes a key/value pair from the map.
-
removeAt
protected void removeAt(int index)
removes the mapping at index from the map.- Overrides:
removeAt
in classTObjectHash<K>
- Parameters:
index
- anint
value
-
values
public java.util.Collection<V> values()
Returns a view on the values of the map.
-
keySet
public java.util.Set<K> keySet()
returns a Set view on the keys of the map.
-
entrySet
public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
Returns a Set view on the entries of the map.
-
containsValue
public boolean containsValue(java.lang.Object val)
checks for the presence of val in the values of the map.
-
containsKey
public boolean containsKey(java.lang.Object key)
checks for the present of key in the keys of the map.
-
putAll
public void putAll(java.util.Map<? extends K,? extends V> map)
copies the key/value mappings in map into this map.
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classTObjectHash<K>
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classTObjectHash<K>
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-