Package org.processmining.framework.util
Class WeakValueHashMap
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap
-
- org.processmining.framework.util.WeakValueHashMap
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.Map
public class WeakValueHashMap extends java.util.HashMap
A WeakValueHashMap is implemented as a HashMap that maps keys to WeakValues. Because we don't have access to the innards of the HashMap, we have to wrap/unwrap value objects with WeakValues on every operation. Fortunately WeakValues are small, short-lived objects, so the added allocation overhead is tolerable. This implementaton directly extends java.util.HashMap.- Author:
- Markus Fuchs
- See Also:
HashMap
,WeakReference
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WeakValueHashMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(java.lang.Object key)
Returns true if this map contains a mapping for the specified key.boolean
containsValue(java.lang.Object value)
Returns true if this map maps one or more keys to the specified value.java.util.Set
entrySet()
Returns aSet
view of the mappings in this map.java.lang.Object
get(java.lang.Object key)
Gets the value for the given key.boolean
isEmpty()
Returns true if this map contains no key-value mappings.java.lang.Object
put(java.lang.Object key, java.lang.Object value)
Puts a new (key,value) into the map.java.lang.Object
remove(java.lang.Object key)
Removes key and value for the given key.int
size()
Returns the number of key-value mappings in this map.java.util.Collection
values()
Returns aCollection
view of the values contained in this map.-
Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, keySet, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
size
public int size()
Returns the number of key-value mappings in this map.- Specified by:
size
in interfacejava.util.Map
- Overrides:
size
in classjava.util.HashMap
- Returns:
- the number of key-value mappings in this map.
-
isEmpty
public boolean isEmpty()
Returns true if this map contains no key-value mappings.- Specified by:
isEmpty
in interfacejava.util.Map
- Overrides:
isEmpty
in classjava.util.HashMap
- Returns:
- true if this map contains no key-value mappings.
-
containsKey
public boolean containsKey(java.lang.Object key)
Returns true if this map contains a mapping for the specified key.- Specified by:
containsKey
in interfacejava.util.Map
- Overrides:
containsKey
in classjava.util.HashMap
- Parameters:
key
- key whose presence in this map is to be tested- Returns:
- true if this map contains a mapping for the specified key.
-
containsValue
public boolean containsValue(java.lang.Object value)
Returns true if this map maps one or more keys to the specified value.- Specified by:
containsValue
in interfacejava.util.Map
- Overrides:
containsValue
in classjava.util.HashMap
- Parameters:
value
- value whose presence in this map is to be tested- Returns:
- true if this map maps one or more keys to this value.
-
get
public java.lang.Object get(java.lang.Object key)
Gets the value for the given key.- Specified by:
get
in interfacejava.util.Map
- Overrides:
get
in classjava.util.HashMap
- Parameters:
key
- key whose associated value, if any, is to be returned- Returns:
- the value to which this map maps the specified key.
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
Puts a new (key,value) into the map.- Specified by:
put
in interfacejava.util.Map
- Overrides:
put
in classjava.util.HashMap
- Parameters:
key
- key with which the specified value is to be associated.value
- value to be associated with the specified key.- Returns:
- previous value associated with specified key, or null if there was no mapping for key or the value has been garbage collected by the garbage collector.
-
remove
public java.lang.Object remove(java.lang.Object key)
Removes key and value for the given key.- Specified by:
remove
in interfacejava.util.Map
- Overrides:
remove
in classjava.util.HashMap
- Parameters:
key
- key whose mapping is to be removed from the map.- Returns:
- previous value associated with specified key, or null if there was no mapping for key or the value has been garbage collected by the garbage collector.
-
entrySet
public java.util.Set entrySet()
Returns aSet
view of the mappings in this map.- Specified by:
entrySet
in interfacejava.util.Map
- Overrides:
entrySet
in classjava.util.HashMap
- Returns:
- a
Set
view of the mappings in this map.
-
values
public java.util.Collection values()
Returns aCollection
view of the values contained in this map.- Specified by:
values
in interfacejava.util.Map
- Overrides:
values
in classjava.util.HashMap
- Returns:
- a
Collection
view of the values contained in this map.
-
-