public static class Object2ReferenceMaps.UnmodifiableMap<K,V> extends Object2ReferenceFunctions.UnmodifiableFunction<K,V> implements Object2ReferenceMap<K,V>, java.io.Serializable
Object2ReferenceMap.Entry<K,V>, Object2ReferenceMap.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() |
ObjectSet<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 . |
ObjectSet<Object2ReferenceMap.Entry<K,V>> |
object2ReferenceEntrySet()
Returns a type-specific set view of the mappings contained in this map.
|
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.
|
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() |
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<Object2ReferenceMap.Entry<K,V>> object2ReferenceEntrySet()
Object2ReferenceMap
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).
object2ReferenceEntrySet
in interface Object2ReferenceMap<K,V>
Map.entrySet()
public ObjectSet<java.util.Map.Entry<K,V>> entrySet()
public ObjectSet<K> keySet()
Object2ReferenceMap
public ReferenceCollection<V> values()
Object2ReferenceMap
public int hashCode()
public boolean equals(java.lang.Object o)
public V getOrDefault(java.lang.Object key, V defaultValue)
Object2ReferenceFunction
getOrDefault
in interface Object2ReferenceFunction<K,V>
getOrDefault
in interface Object2ReferenceMap<K,V>
getOrDefault
in interface java.util.Map<K,V>
getOrDefault
in class Object2ReferenceFunctions.UnmodifiableFunction<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)
Object2ReferenceMap
putIfAbsent
in interface Object2ReferenceMap<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)
Object2ReferenceMap
remove
in interface Object2ReferenceMap<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)
Object2ReferenceMap
replace
in interface Object2ReferenceMap<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)
Object2ReferenceMap
replace
in interface Object2ReferenceMap<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)
Object2ReferenceMap
computeIfPresent
in interface Object2ReferenceMap<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)
Object2ReferenceMap
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 Object2ReferenceMap<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)
Object2ReferenceMap
value
.
Otherwise, replaces the associated value with the results of the given remapping function, or removes if the result is null
.merge
in interface Object2ReferenceMap<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)