Package gnu.trove.map.hash
Class THashMap<K,V>
java.lang.Object
gnu.trove.impl.hash.THash
gnu.trove.impl.hash.TObjectHash<K>
gnu.trove.map.hash.THashMap<K,V>
- All Implemented Interfaces:
TMap<K,
,V> Externalizable
,Serializable
,Map<K,
V>
public class THashMap<K,V>
extends gnu.trove.impl.hash.TObjectHash<K>
implements TMap<K,V>, 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
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
a view onto the entries of the map.protected class
a view onto the keys of the map.protected class
a view onto the values of the map. -
Field Summary
FieldsFields inherited from class gnu.trove.impl.hash.TObjectHash
_set, consumeFreeSlot, FREE, REMOVED
Fields inherited from class gnu.trove.impl.hash.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _autoCompactTemporaryDisable, _free, _loadFactor, _maxSize, _size, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR
-
Constructor Summary
ConstructorsConstructorDescriptionTHashMap()
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.Creates a newTHashMap
instance which contains the key/value pairs in map.Creates a newTHashMap
instance which contains the key/value pairs in map. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Empties the map.boolean
containsKey
(Object key) checks for the present of key in the keys of the map.boolean
containsValue
(Object val) checks for the presence of val in the values of the map.entrySet()
Returns a Set view on the entries of the map.boolean
Compares this map with another map for equality of their stored entries.boolean
forEachEntry
(TObjectObjectProcedure<? super K, ? super V> procedure) Executes procedure for each key/value entry in the map.boolean
forEachKey
(TObjectProcedure<? super K> procedure) Executes procedure for each key in the map.boolean
forEachValue
(TObjectProcedure<? super V> procedure) Executes procedure for each value in the map.retrieves the value for keyint
hashCode()
keySet()
returns a Set view on the keys of the map.Inserts a key/value pair into the map.void
copies the key/value mappings in map into this map.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
protected void
rehash
(int newCapacity) rehashes the map to the new capacity.Deletes a key/value pair from the map.void
removeAt
(int index) removes the mapping at index from the map.boolean
retainEntries
(TObjectObjectProcedure<? super K, ? super V> procedure) Retains only those entries in the map for which the procedure returns a true value.int
setUp
(int initialCapacity) initialize the value array of the map.toString()
void
transformValues
(TObjectFunction<V, V> function) Transform the values in this map using function.values()
Returns a view on the values of the map.void
Methods inherited from class gnu.trove.impl.hash.TObjectHash
buildObjectContractViolation, capacity, contains, dumpExtraInfo, equals, forEach, hash, index, insertionIndex, insertKey, objectInfo, reportPotentialConcurrentMod, throwObjectContractViolation, throwObjectContractViolation
Methods inherited from class gnu.trove.impl.hash.THash
calculateGrownCapacity, compact, computeMaxSize, computeNextAutoCompactionAmount, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, isEmpty, merge, remove, replace, replace, replaceAll, size
-
Field Details
-
_values
the values of the map
-
-
Constructor Details
-
THashMap
public THashMap()Creates a newTHashMap
instance with the default capacity and load factor. -
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, 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
Creates a newTHashMap
instance which contains the key/value pairs in map.- Parameters:
map
- aMap
value
-
THashMap
Creates a newTHashMap
instance which contains the key/value pairs in map.- Parameters:
map
- aMap
value
-
-
Method Details
-
setUp
public int setUp(int initialCapacity) initialize the value array of the map.- Overrides:
setUp
in classgnu.trove.impl.hash.TObjectHash<K>
- Parameters:
initialCapacity
- anint
value- Returns:
- an
int
value
-
put
Inserts a key/value pair into the map. -
putIfAbsent
Inserts a key/value pair into the map if the specified key is not already associated with a value.- Specified by:
putIfAbsent
in interfaceMap<K,
V> - Specified by:
putIfAbsent
in interfaceTMap<K,
V> - Parameters:
key
- anObject
valuevalue
- anObject
value- Returns:
- the previous value associated with key,
or
null
if none was found.
-
equals
Compares this map with another map for equality of their stored entries. -
hashCode
public int hashCode() -
toString
-
forEachKey
Executes procedure for each key in the map.- Specified by:
forEachKey
in interfaceTMap<K,
V> - Parameters:
procedure
- aTObjectProcedure
value- Returns:
- false if the loop over the keys terminated because the procedure returned false for some key.
-
forEachValue
Executes procedure for each value in the map.- Specified by:
forEachValue
in interfaceTMap<K,
V> - Parameters:
procedure
- aTObjectProcedure
value- Returns:
- false if the loop over the values terminated because the procedure returned false for some value.
-
forEachEntry
Executes procedure for each key/value entry in the map.- Specified by:
forEachEntry
in interfaceTMap<K,
V> - Parameters:
procedure
- aTObjectObjectProcedure
value- Returns:
- false if the loop over the entries terminated because the procedure returned false for some entry.
-
retainEntries
Retains only those entries in the map for which the procedure returns a true value.- Specified by:
retainEntries
in interfaceTMap<K,
V> - Parameters:
procedure
- determines which entries to keep- Returns:
- true if the map was modified.
-
transformValues
Transform the values in this map using function.- Specified by:
transformValues
in interfaceTMap<K,
V> - Parameters:
function
- aTObjectFunction
value
-
rehash
protected void rehash(int newCapacity) rehashes the map to the new capacity.- Specified by:
rehash
in classgnu.trove.impl.hash.THash
- Parameters:
newCapacity
- anint
value
-
get
retrieves the value for key -
clear
public void clear()Empties the map. -
remove
Deletes a key/value pair from the map. -
removeAt
public void removeAt(int index) removes the mapping at index from the map.- Overrides:
removeAt
in classgnu.trove.impl.hash.TObjectHash<K>
- Parameters:
index
- anint
value
-
values
Returns a view on the values of the map. -
keySet
returns a Set view on the keys of the map. -
entrySet
Returns a Set view on the entries of the map. -
containsValue
checks for the presence of val in the values of the map.- Specified by:
containsValue
in interfaceMap<K,
V> - Parameters:
val
- anObject
value- Returns:
- a
boolean
value
-
containsKey
checks for the present of key in the keys of the map.- Specified by:
containsKey
in interfaceMap<K,
V> - Parameters:
key
- anObject
value- Returns:
- a
boolean
value
-
putAll
copies the key/value mappings in map into this map. -
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classgnu.trove.impl.hash.TObjectHash<K>
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classgnu.trove.impl.hash.TObjectHash<K>
- Throws:
IOException
ClassNotFoundException
-