public static class Reference2ObjectMaps.SynchronizedMap<K,V> extends Reference2ObjectFunctions.SynchronizedFunction<K,V> implements Reference2ObjectMap<K,V>, java.io.Serializable
Reference2ObjectMap.Entry<K,V>, Reference2ObjectMap.FastEntrySet<K,V>
Modifier and Type | Method and Description |
---|---|
V |
compute(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or
null if there is no current mapping). |
V |
computeIfPresent(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped value.
|
boolean |
containsValue(java.lang.Object v) |
ObjectSet<java.util.Map.Entry<K,V>> |
entrySet()
Returns a set view of the mappings contained in this map.
|
boolean |
equals(java.lang.Object o) |
void |
forEach(java.util.function.BiConsumer<? super K,? super V> action) |
V |
getOrDefault(java.lang.Object key,
V defaultValue)
Returns the value associated by this function to the specified key, or give the specified
value if not present.
|
int |
hashCode() |
boolean |
isEmpty() |
ReferenceSet<K> |
keySet() |
V |
merge(K key,
V value,
java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
void |
putAll(java.util.Map<? extends K,? extends V> m) |
V |
putIfAbsent(K key,
V value)
If the specified key is not already associated with a value, associates it with the given
value and returns the default return value, else returns
the current value.
|
ObjectSet<Reference2ObjectMap.Entry<K,V>> |
reference2ObjectEntrySet()
Returns a type-specific set view of the mappings contained in this map.
|
boolean |
remove(java.lang.Object key,
java.lang.Object value)
Removes the entry for the specified key only if it is currently mapped to the specified value.
|
V |
replace(K key,
V value)
Replaces the entry for the specified key only if it is currently mapped to some value.
|
boolean |
replace(K key,
V oldValue,
V newValue)
Replaces the entry for the specified key only if currently mapped to the specified value.
|
void |
replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function) |
ObjectCollection<V> |
values() |
apply, clear, containsKey, defaultReturnValue, defaultReturnValue, get, put, remove, size, toString
clear, computeIfAbsent, computeObjectIfAbsentPartial, containsKey, defaultReturnValue, defaultReturnValue, put, remove, size
andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, get
public boolean containsValue(java.lang.Object v)
public ObjectSet<Reference2ObjectMap.Entry<K,V>> reference2ObjectEntrySet()
Reference2ObjectMap
This method is necessary because there is no inheritance along
type parameters: it is thus impossible to strengthen Map.entrySet()
so that it returns an ObjectSet
of type-specific entries (the latter makes it possible to
access keys and values with type-specific methods).
reference2ObjectEntrySet
in interface Reference2ObjectMap<K,V>
Map.entrySet()
public ObjectSet<java.util.Map.Entry<K,V>> entrySet()
public ReferenceSet<K> keySet()
Reference2ObjectMap
public ObjectCollection<V> values()
Reference2ObjectMap
public int hashCode()
public boolean equals(java.lang.Object o)
public V getOrDefault(java.lang.Object key, V defaultValue)
Reference2ObjectFunction
getOrDefault
in interface Reference2ObjectFunction<K,V>
getOrDefault
in interface Reference2ObjectMap<K,V>
getOrDefault
in interface java.util.Map<K,V>
getOrDefault
in class Reference2ObjectFunctions.SynchronizedFunction<K,V>
key
- the key.defaultValue
- the value to return if not present.defaultValue
if no value was present for the given key.Function.getOrDefault(Object, Object)
public void replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)
public V putIfAbsent(K key, V value)
Reference2ObjectMap
putIfAbsent
in interface Reference2ObjectMap<K,V>
putIfAbsent
in interface java.util.Map<K,V>
key
- key with which the specified value is to be associated.value
- value to be associated with the specified key.Map.putIfAbsent(Object, Object)
public boolean remove(java.lang.Object key, java.lang.Object value)
Reference2ObjectMap
remove
in interface Reference2ObjectMap<K,V>
remove
in interface java.util.Map<K,V>
key
- key with which the specified value is associated.value
- value expected to be associated with the specified key.true
if the value was removed.Map.remove(Object, Object)
public V replace(K key, V value)
Reference2ObjectMap
replace
in interface Reference2ObjectMap<K,V>
replace
in interface java.util.Map<K,V>
key
- key with which the specified value is associated.value
- value to be associated with the specified key.Map.replace(Object, Object)
public boolean replace(K key, V oldValue, V newValue)
Reference2ObjectMap
replace
in interface Reference2ObjectMap<K,V>
replace
in interface java.util.Map<K,V>
key
- key with which the specified value is associated.oldValue
- value expected to be associated with the specified key.newValue
- value to be associated with the specified key.true
if the value was replaced.Map.replace(Object, Object, Object)
public V computeIfPresent(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
Reference2ObjectMap
computeIfPresent
in interface Reference2ObjectMap<K,V>
computeIfPresent
in interface java.util.Map<K,V>
key
- key with which the specified value is to be associated.remappingFunction
- the function to compute a value.Map.computeIfPresent(Object, java.util.function.BiFunction)
public V compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
Reference2ObjectMap
null
if there is no current mapping).
If the function returns null
, the mapping is removed (or remains absent if initially absent).
If the function itself throws an (unchecked) exception, the exception is rethrown, and the current mapping is left unchanged.
compute
in interface Reference2ObjectMap<K,V>
compute
in interface java.util.Map<K,V>
key
- key with which the specified value is to be associated.remappingFunction
- the function to compute a value.Map.compute(Object, java.util.function.BiFunction)
public V merge(K key, V value, java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction)
Reference2ObjectMap
value
.
Otherwise, replaces the associated value with the results of the given remapping function, or removes if the result is null
.merge
in interface Reference2ObjectMap<K,V>
merge
in interface java.util.Map<K,V>
key
- key with which the resulting value is to be associated.value
- the value to be merged with the existing value associated with the key or, if no existing value is associated with the key, to be associated with the key.remappingFunction
- the function to recompute a value if present.Map.merge(Object, Object, java.util.function.BiFunction)