public static class Reference2ReferenceMaps.SynchronizedMap<K,V> extends Reference2ReferenceFunctions.SynchronizedFunction<K,V> implements Reference2ReferenceMap<K,V>, java.io.Serializable
Reference2ReferenceMap.Entry<K,V>, Reference2ReferenceMap.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<Reference2ReferenceMap.Entry<K,V>> |
reference2ReferenceEntrySet()
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) |
ReferenceCollection<V> |
values() |
apply, clear, containsKey, defaultReturnValue, defaultReturnValue, get, put, remove, size, toString
clear, computeIfAbsent, computeReferenceIfAbsentPartial, 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<Reference2ReferenceMap.Entry<K,V>> reference2ReferenceEntrySet()
Reference2ReferenceMap
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).
reference2ReferenceEntrySet
in interface Reference2ReferenceMap<K,V>
Map.entrySet()
public ObjectSet<java.util.Map.Entry<K,V>> entrySet()
public ReferenceSet<K> keySet()
Reference2ReferenceMap
public ReferenceCollection<V> values()
Reference2ReferenceMap
public int hashCode()
public boolean equals(java.lang.Object o)
public V getOrDefault(java.lang.Object key, V defaultValue)
Reference2ReferenceFunction
getOrDefault
in interface Reference2ReferenceFunction<K,V>
getOrDefault
in interface Reference2ReferenceMap<K,V>
getOrDefault
in interface java.util.Map<K,V>
getOrDefault
in class Reference2ReferenceFunctions.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)
Reference2ReferenceMap
putIfAbsent
in interface Reference2ReferenceMap<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)
Reference2ReferenceMap
remove
in interface Reference2ReferenceMap<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)
Reference2ReferenceMap
replace
in interface Reference2ReferenceMap<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)
Reference2ReferenceMap
replace
in interface Reference2ReferenceMap<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)
Reference2ReferenceMap
computeIfPresent
in interface Reference2ReferenceMap<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)
Reference2ReferenceMap
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 Reference2ReferenceMap<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)
Reference2ReferenceMap
value
.
Otherwise, replaces the associated value with the results of the given remapping function, or removes if the result is null
.merge
in interface Reference2ReferenceMap<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)