public interface Object2FloatMap<K> extends Object2FloatFunction<K>, java.util.Map<K,java.lang.Float>
Map
; provides some additional methods that use polymorphism to avoid (un)boxing, and handling of a default return value.
Besides extending the corresponding type-specific function, this interface strengthens Map.entrySet()
,
keySet()
and values()
. Moreover, a number of methods, such as size()
, defaultReturnValue()
, etc., are un-defaulted
as their function default do not make sense for a map.
Maps returning entry sets of type Object2FloatMap.FastEntrySet
support also fast iteration.
A submap or subset may or may not have an independent default return value (which however must be initialized to the default return value of the originator).
Map
Modifier and Type | Interface and Description |
---|---|
static interface |
Object2FloatMap.Entry<K>
A type-specific
Map.Entry ; provides some additional methods
that use polymorphism to avoid (un)boxing. |
static interface |
Object2FloatMap.FastEntrySet<K>
An entry set providing fast iteration.
|
Modifier and Type | Method and Description |
---|---|
default void |
clear()
Removes all of the mappings from this map (optional operation).
|
default float |
computeFloat(K key,
java.util.function.BiFunction<? super K,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or
null if there is no current mapping). |
default float |
computeFloatIfAbsent(K key,
java.util.function.ToDoubleFunction<? super K> mappingFunction)
Deprecated.
Please use
computeIfAbsent() instead. |
default float |
computeFloatIfAbsentPartial(K key,
Object2FloatFunction<? super K> mappingFunction)
Deprecated.
Please use
computeIfAbsent() instead. |
default float |
computeFloatIfPresent(K key,
java.util.function.BiFunction<? super K,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped value.
|
default float |
computeIfAbsent(K key,
Object2FloatFunction<? super K> mappingFunction)
If the specified key is not already associated with a value, attempts to compute its value
using the given mapping function and enters it into this map, unless the key is not present
in the given mapping function.
|
default float |
computeIfAbsent(K key,
java.util.function.ToDoubleFunction<? super K> mappingFunction)
If the specified key is not already associated with a value, attempts to compute its value
using the given mapping function and enters it into this map.
|
boolean |
containsKey(java.lang.Object key)
Returns true if this function contains a mapping for the specified key.
|
boolean |
containsValue(float value)
Returns
true if this map maps one or more keys to the specified value. |
default boolean |
containsValue(java.lang.Object value)
Deprecated.
Please use the corresponding type-specific method instead.
|
float |
defaultReturnValue()
Gets the default return value.
|
void |
defaultReturnValue(float rv)
Sets the default return value (optional operation).
|
default ObjectSet<java.util.Map.Entry<K,java.lang.Float>> |
entrySet()
Deprecated.
Please use the corresponding type-specific method instead.
|
default void |
forEach(java.util.function.BiConsumer<? super K,? super java.lang.Float> consumer) |
default java.lang.Float |
get(java.lang.Object key)
Deprecated.
Please use the corresponding type-specific method instead.
|
default float |
getOrDefault(java.lang.Object key,
float defaultValue)
Returns the value to which the specified key is mapped, or the
defaultValue if this
map contains no mapping for the key. |
default java.lang.Float |
getOrDefault(java.lang.Object key,
java.lang.Float defaultValue)
Deprecated.
Please use the corresponding type-specific method instead.
|
ObjectSet<K> |
keySet() |
default float |
merge(K key,
float value,
java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
default java.lang.Float |
merge(K key,
java.lang.Float value,
java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
Deprecated.
Please use the corresponding type-specific method instead.
|
default float |
mergeFloat(K key,
float value,
java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
Deprecated.
Please use
merge() instead. |
default float |
mergeFloat(K key,
float value,
java.util.function.DoubleBinaryOperator remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
default float |
mergeFloat(K key,
float value,
FloatBinaryOperator remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
ObjectSet<Object2FloatMap.Entry<K>> |
object2FloatEntrySet()
Returns a type-specific set view of the mappings contained in this map.
|
default java.lang.Float |
put(K key,
java.lang.Float value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default float |
putIfAbsent(K key,
float 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.
|
default java.lang.Float |
putIfAbsent(K key,
java.lang.Float value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Float |
remove(java.lang.Object key)
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
remove(java.lang.Object key,
float value)
Removes the entry for the specified key only if it is currently mapped to the specified value.
|
default boolean |
remove(java.lang.Object key,
java.lang.Object value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default float |
replace(K key,
float value)
Replaces the entry for the specified key only if it is currently mapped to some value.
|
default java.lang.Float |
replace(K key,
java.lang.Float value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
replace(K key,
float oldValue,
float newValue)
Replaces the entry for the specified key only if currently mapped to the specified value.
|
default boolean |
replace(K key,
java.lang.Float oldValue,
java.lang.Float newValue)
Deprecated.
Please use the corresponding type-specific method instead.
|
int |
size()
Returns the number of key/value mappings in this map.
|
FloatCollection |
values() |
andThen, andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, applyAsDouble, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, getFloat, put, removeFloat
int size()
Integer.MAX_VALUE
elements, returns Integer.MAX_VALUE
.default void clear()
clear
in interface java.util.Map<K,java.lang.Float>
java.lang.UnsupportedOperationException
- if the clear()
operation is not supported by this mapMap.clear()
void defaultReturnValue(float rv)
get()
,
put()
and remove()
to denote that the map does not contain
the specified key. It must be 0/false
by default.defaultReturnValue
in interface Object2FloatFunction<K>
rv
- the new default return value.defaultReturnValue()
float defaultReturnValue()
defaultReturnValue
in interface Object2FloatFunction<K>
ObjectSet<Object2FloatMap.Entry<K>> object2FloatEntrySet()
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).
Map.entrySet()
@Deprecated default ObjectSet<java.util.Map.Entry<K,java.lang.Float>> entrySet()
entrySet
in interface java.util.Map<K,java.lang.Float>
Map.entrySet()
Map.entrySet()
.@Deprecated default java.lang.Float put(K key, java.lang.Float value)
This default implementation just delegates to the corresponding type-specific–function method.
put
in interface java.util.Map<K,java.lang.Float>
put
in interface Object2FloatFunction<K>
key
- the key.value
- the value.null
if no value was present for the given key.Map.put(Object,Object)
@Deprecated default java.lang.Float get(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
get
in interface java.util.Map<K,java.lang.Float>
get
in interface Object2FloatFunction<K>
key
- the key.null
if no value was present for the given key.Map.get(Object)
@Deprecated default java.lang.Float remove(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
remove
in interface java.util.Map<K,java.lang.Float>
remove
in interface Object2FloatFunction<K>
key
- the key.null
if no value was present for the given key.Map.remove(Object)
ObjectSet<K> keySet()
keySet
in interface java.util.Map<K,java.lang.Float>
Map.keySet()
Map.keySet()
.FloatCollection values()
values
in interface java.util.Map<K,java.lang.Float>
Map.values()
Map.values()
.boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<K,java.lang.Float>
key
- the key.key
.Map.containsKey(Object)
boolean containsValue(float value)
true
if this map maps one or more keys to the specified value.Map.containsValue(Object)
@Deprecated default boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<K,java.lang.Float>
default void forEach(java.util.function.BiConsumer<? super K,? super java.lang.Float> consumer)
forEach
in interface java.util.Map<K,java.lang.Float>
default float getOrDefault(java.lang.Object key, float defaultValue)
defaultValue
if this
map contains no mapping for the key.getOrDefault
in interface Object2FloatFunction<K>
key
- the key.defaultValue
- the default mapping of the key.defaultValue
if this map contains no mapping for the key.Map.getOrDefault(Object, Object)
@Deprecated default java.lang.Float getOrDefault(java.lang.Object key, java.lang.Float defaultValue)
This default implementation just delegates to the corresponding Map
method.
getOrDefault
in interface java.util.Map<K,java.lang.Float>
getOrDefault
in interface Object2FloatFunction<K>
key
- the key.defaultValue
- the default value to return if not present.defaultValue
if no value was present for the
given key.Map.getOrDefault(Object, Object)
default float putIfAbsent(K key, float value)
key
- key with which the specified value is to be associated.value
- value to be associated with the specified key.Map.putIfAbsent(Object, Object)
default boolean remove(java.lang.Object key, float value)
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)
default boolean replace(K key, float oldValue, float newValue)
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)
default float replace(K key, float value)
key
- key with which the specified value is associated.value
- value to be associated with the specified key.Map.replace(Object, Object)
default float computeIfAbsent(K key, java.util.function.ToDoubleFunction<? super K> mappingFunction)
Note that contrarily to the default computeIfAbsent(),
it is not possible to not add a value for a given key, since the mappingFunction
cannot
return null
. If such a behavior is needed, please use the corresponding nullable version.
key
- key with which the specified value is to be associated.mappingFunction
- the function to compute a value.Map.computeIfAbsent(Object, java.util.function.Function)
computeIfAbsent()
methods have a different logic based on the argument;
no delegation is performed, contrarily to other superficially similar
methods such as Iterator.forEachRemaining(java.util.function.Consumer<? super E>)
or List.replaceAll(java.util.function.UnaryOperator<E>)
.@Deprecated default float computeFloatIfAbsent(K key, java.util.function.ToDoubleFunction<? super K> mappingFunction)
computeIfAbsent()
instead.default float computeIfAbsent(K key, Object2FloatFunction<? super K> mappingFunction)
This version of computeIfAbsent()
uses a type-specific version of fastutil
's Function
.
Since Function
has a containsKey()
method, it is possible to avoid adding a key by having containsKey()
return false
for that key.
key
- key with which the specified value is to be associated.mappingFunction
- the function to compute a value.Map.computeIfAbsent(Object, java.util.function.Function)
computeIfAbsent()
methods have a different logic based on the argument;
no delegation is performed, contrarily to other superficially similar
methods such as Iterator.forEachRemaining(java.util.function.Consumer<? super E>)
or List.replaceAll(java.util.function.UnaryOperator<E>)
.@Deprecated default float computeFloatIfAbsentPartial(K key, Object2FloatFunction<? super K> mappingFunction)
computeIfAbsent()
instead.default float computeFloatIfPresent(K key, java.util.function.BiFunction<? super K,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
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)
default float computeFloat(K key, java.util.function.BiFunction<? super K,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
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.
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)
default float merge(K key, float value, java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
value
.
Otherwise, replaces the associated value with the results of the given remapping function, or removes if the result is null
.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)
default float mergeFloat(K key, float value, FloatBinaryOperator remappingFunction)
value
.
Otherwise, replaces the associated value with the results of the given remapping function.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)
null
.default float mergeFloat(K key, float value, java.util.function.DoubleBinaryOperator remappingFunction)
value
.
Otherwise, replaces the associated value with the results of the given remapping function.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)
null
.@Deprecated default float mergeFloat(K key, float value, java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
merge()
instead.@Deprecated default java.lang.Float putIfAbsent(K key, java.lang.Float value)
This default implementation just delegates to the corresponding Map
method.
putIfAbsent
in interface java.util.Map<K,java.lang.Float>
@Deprecated default boolean remove(java.lang.Object key, java.lang.Object value)
This default implementation just delegates to the corresponding Map
method.
remove
in interface java.util.Map<K,java.lang.Float>
@Deprecated default boolean replace(K key, java.lang.Float oldValue, java.lang.Float newValue)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Float>
@Deprecated default java.lang.Float replace(K key, java.lang.Float value)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Float>
@Deprecated default java.lang.Float merge(K key, java.lang.Float value, java.util.function.BiFunction<? super java.lang.Float,? super java.lang.Float,? extends java.lang.Float> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
merge
in interface java.util.Map<K,java.lang.Float>