Function<K,java.lang.Long>
, java.util.function.Function<K,java.lang.Long>
, java.util.Map<K,java.lang.Long>
, Object2LongFunction<K>
, java.util.function.ToLongFunction<K>
Object2LongSortedMap<K>
AbstractObject2LongMap
, AbstractObject2LongSortedMap
, Object2LongArrayMap
, Object2LongAVLTreeMap
, Object2LongLinkedOpenCustomHashMap
, Object2LongLinkedOpenHashMap
, Object2LongMaps.EmptyMap
, Object2LongMaps.Singleton
, Object2LongMaps.SynchronizedMap
, Object2LongMaps.UnmodifiableMap
, Object2LongOpenCustomHashMap
, Object2LongOpenHashMap
, Object2LongRBTreeMap
, Object2LongSortedMaps.EmptySortedMap
, Object2LongSortedMaps.Singleton
, Object2LongSortedMaps.SynchronizedSortedMap
, Object2LongSortedMaps.UnmodifiableSortedMap
public interface Object2LongMap<K> extends Object2LongFunction<K>, java.util.Map<K,java.lang.Long>
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
Object2LongMap.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 | Description |
---|---|---|
static interface |
Object2LongMap.Entry<K> |
A type-specific
Map.Entry ; provides some additional methods
that use polymorphism to avoid (un)boxing. |
static interface |
Object2LongMap.FastEntrySet<K> |
An entry set providing fast iteration.
|
Modifier and Type | Method | Description |
---|---|---|
default void |
clear() |
Removes all of the mappings from this map (optional operation).
|
default long |
computeLong(K key,
java.util.function.BiFunction<? super K,? super java.lang.Long,? extends java.lang.Long> remappingFunction) |
Attempts to compute a mapping for the specified key and its current mapped
value (or
null if there is no current mapping). |
default long |
computeLongIfAbsent(K key,
java.util.function.ToLongFunction<? 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.
|
default long |
computeLongIfAbsentPartial(K key,
Object2LongFunction<? 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 long |
computeLongIfPresent(K key,
java.util.function.BiFunction<? super K,? super java.lang.Long,? extends java.lang.Long> 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 |
containsKey(java.lang.Object key) |
Returns true if this function contains a mapping for the specified key.
|
boolean |
containsValue(long 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.
|
long |
defaultReturnValue() |
Gets the default return value.
|
void |
defaultReturnValue(long rv) |
Sets the default return value (optional operation).
|
default ObjectSet<java.util.Map.Entry<K,java.lang.Long>> |
entrySet() |
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Long |
get(java.lang.Object key) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default long |
getOrDefault(java.lang.Object key,
long 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.Long |
getOrDefault(java.lang.Object key,
java.lang.Long defaultValue) |
Deprecated.
Please use the corresponding type-specific method instead.
|
ObjectSet<K> |
keySet() |
|
default java.lang.Long |
merge(K key,
java.lang.Long value,
java.util.function.BiFunction<? super java.lang.Long,? super java.lang.Long,? extends java.lang.Long> remappingFunction) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default long |
mergeLong(K key,
long value,
java.util.function.BiFunction<? super java.lang.Long,? super java.lang.Long,? extends java.lang.Long> remappingFunction) |
If the specified key is not already associated with a value, associates it
with the given
value . |
ObjectSet<Object2LongMap.Entry<K>> |
object2LongEntrySet() |
Returns a type-specific set view of the mappings contained in this map.
|
default java.lang.Long |
put(K key,
java.lang.Long value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default long |
putIfAbsent(K key,
long 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.Long |
putIfAbsent(K key,
java.lang.Long value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Long |
remove(java.lang.Object key) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
remove(java.lang.Object key,
long 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 long |
replace(K key,
long value) |
Replaces the entry for the specified key only if it is currently mapped to
some value.
|
default boolean |
replace(K key,
long oldValue,
long newValue) |
Replaces the entry for the specified key only if currently mapped to the
specified value.
|
default java.lang.Long |
replace(K key,
java.lang.Long value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
replace(K key,
java.lang.Long oldValue,
java.lang.Long newValue) |
Deprecated.
Please use the corresponding type-specific method instead.
|
int |
size() |
Returns the number of key/value mappings in this map.
|
LongCollection |
values() |
compute, computeIfAbsent, computeIfPresent, equals, forEach, hashCode, isEmpty, putAll, replaceAll
applyAsLong, getLong, put, removeLong
int size()
Integer.MAX_VALUE
elements, returns
Integer.MAX_VALUE
.default void clear()
void defaultReturnValue(long 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 Object2LongFunction<K>
rv
- the new default return value.defaultReturnValue()
long defaultReturnValue()
defaultReturnValue
in interface Object2LongFunction<K>
ObjectSet<Object2LongMap.Entry<K>> object2LongEntrySet()
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.Long>> entrySet()
Note that this specification strengthens the one given in
Map.entrySet()
.
entrySet
in interface java.util.Map<K,java.lang.Long>
Map.entrySet()
@Deprecated default java.lang.Long put(K key, java.lang.Long value)
This default implementation just delegates to the corresponding type-specific–function method.
put
in interface Function<K,java.lang.Long>
put
in interface java.util.Map<K,java.lang.Long>
put
in interface Object2LongFunction<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.Long get(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
get
in interface Function<K,java.lang.Long>
get
in interface java.util.Map<K,java.lang.Long>
get
in interface Object2LongFunction<K>
key
- the key.null
if no value was present for the given key.Map.get(Object)
@Deprecated default java.lang.Long remove(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
remove
in interface Function<K,java.lang.Long>
remove
in interface java.util.Map<K,java.lang.Long>
remove
in interface Object2LongFunction<K>
key
- the key.null
if no value was present for the given key.Map.remove(Object)
ObjectSet<K> keySet()
Note that this specification strengthens the one given in
Map.keySet()
.
keySet
in interface java.util.Map<K,java.lang.Long>
Map.keySet()
LongCollection values()
Note that this specification strengthens the one given in
Map.values()
.
values
in interface java.util.Map<K,java.lang.Long>
Map.values()
boolean containsKey(java.lang.Object key)
containsKey
in interface Function<K,java.lang.Long>
containsKey
in interface java.util.Map<K,java.lang.Long>
key
- the key.key
.Map.containsKey(Object)
boolean containsValue(long 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.Long>
default long getOrDefault(java.lang.Object key, long defaultValue)
defaultValue
if this map contains no mapping for the key.key
- the key.defaultValue
- the default mapping of the key.defaultValue
if this map contains no mapping for the key.Map.getOrDefault(Object, Object)
default long putIfAbsent(K key, long 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, long 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, long oldValue, long 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 long replace(K key, long value)
key
- key with which the specified value is associated.value
- value to be associated with the specified key.Map.replace(Object, Object)
default long computeLongIfAbsent(K key, java.util.function.ToLongFunction<? 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)
default long computeLongIfAbsentPartial(K key, Object2LongFunction<? 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)
default long computeLongIfPresent(K key, java.util.function.BiFunction<? super K,? super java.lang.Long,? extends java.lang.Long> 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 long computeLong(K key, java.util.function.BiFunction<? super K,? super java.lang.Long,? extends java.lang.Long> 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 long mergeLong(K key, long value, java.util.function.BiFunction<? super java.lang.Long,? super java.lang.Long,? extends java.lang.Long> 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)
@Deprecated default java.lang.Long getOrDefault(java.lang.Object key, java.lang.Long defaultValue)
This default implementation just delegates to the corresponding Map
method.
getOrDefault
in interface java.util.Map<K,java.lang.Long>
@Deprecated default java.lang.Long putIfAbsent(K key, java.lang.Long value)
This default implementation just delegates to the corresponding Map
method.
putIfAbsent
in interface java.util.Map<K,java.lang.Long>
@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.Long>
@Deprecated default boolean replace(K key, java.lang.Long oldValue, java.lang.Long newValue)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Long>
@Deprecated default java.lang.Long replace(K key, java.lang.Long value)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Long>
@Deprecated default java.lang.Long merge(K key, java.lang.Long value, java.util.function.BiFunction<? super java.lang.Long,? super java.lang.Long,? extends java.lang.Long> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
merge
in interface java.util.Map<K,java.lang.Long>