Function<K,java.lang.Byte>
, java.util.function.Function<K,java.lang.Byte>
, java.util.Map<K,java.lang.Byte>
, Object2ByteFunction<K>
, java.util.function.ToIntFunction<K>
Object2ByteSortedMap<K>
AbstractObject2ByteMap
, AbstractObject2ByteSortedMap
, Object2ByteArrayMap
, Object2ByteAVLTreeMap
, Object2ByteLinkedOpenCustomHashMap
, Object2ByteLinkedOpenHashMap
, Object2ByteMaps.EmptyMap
, Object2ByteMaps.Singleton
, Object2ByteMaps.SynchronizedMap
, Object2ByteMaps.UnmodifiableMap
, Object2ByteOpenCustomHashMap
, Object2ByteOpenHashMap
, Object2ByteRBTreeMap
, Object2ByteSortedMaps.EmptySortedMap
, Object2ByteSortedMaps.Singleton
, Object2ByteSortedMaps.SynchronizedSortedMap
, Object2ByteSortedMaps.UnmodifiableSortedMap
public interface Object2ByteMap<K> extends Object2ByteFunction<K>, java.util.Map<K,java.lang.Byte>
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
Object2ByteMap.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 |
Object2ByteMap.Entry<K> |
A type-specific
Map.Entry ; provides some additional methods
that use polymorphism to avoid (un)boxing. |
static interface |
Object2ByteMap.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 byte |
computeByte(K key,
java.util.function.BiFunction<? super K,? super java.lang.Byte,? extends java.lang.Byte> remappingFunction) |
Attempts to compute a mapping for the specified key and its current mapped
value (or
null if there is no current mapping). |
default byte |
computeByteIfAbsent(K key,
java.util.function.ToIntFunction<? 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 byte |
computeByteIfAbsentPartial(K key,
Object2ByteFunction<? 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 byte |
computeByteIfPresent(K key,
java.util.function.BiFunction<? super K,? super java.lang.Byte,? extends java.lang.Byte> 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(byte 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.
|
byte |
defaultReturnValue() |
Gets the default return value.
|
void |
defaultReturnValue(byte rv) |
Sets the default return value (optional operation).
|
default ObjectSet<java.util.Map.Entry<K,java.lang.Byte>> |
entrySet() |
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Byte |
get(java.lang.Object key) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default byte |
getOrDefault(java.lang.Object key,
byte 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.Byte |
getOrDefault(java.lang.Object key,
java.lang.Byte defaultValue) |
Deprecated.
Please use the corresponding type-specific method instead.
|
ObjectSet<K> |
keySet() |
|
default java.lang.Byte |
merge(K key,
java.lang.Byte value,
java.util.function.BiFunction<? super java.lang.Byte,? super java.lang.Byte,? extends java.lang.Byte> remappingFunction) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default byte |
mergeByte(K key,
byte value,
java.util.function.BiFunction<? super java.lang.Byte,? super java.lang.Byte,? extends java.lang.Byte> remappingFunction) |
If the specified key is not already associated with a value, associates it
with the given
value . |
ObjectSet<Object2ByteMap.Entry<K>> |
object2ByteEntrySet() |
Returns a type-specific set view of the mappings contained in this map.
|
default java.lang.Byte |
put(K key,
java.lang.Byte value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default byte |
putIfAbsent(K key,
byte 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.Byte |
putIfAbsent(K key,
java.lang.Byte value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Byte |
remove(java.lang.Object key) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
remove(java.lang.Object key,
byte 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 byte |
replace(K key,
byte value) |
Replaces the entry for the specified key only if it is currently mapped to
some value.
|
default boolean |
replace(K key,
byte oldValue,
byte newValue) |
Replaces the entry for the specified key only if currently mapped to the
specified value.
|
default java.lang.Byte |
replace(K key,
java.lang.Byte value) |
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
replace(K key,
java.lang.Byte oldValue,
java.lang.Byte newValue) |
Deprecated.
Please use the corresponding type-specific method instead.
|
int |
size() |
Returns the number of key/value mappings in this map.
|
ByteCollection |
values() |
compute, computeIfAbsent, computeIfPresent, equals, forEach, hashCode, isEmpty, putAll, replaceAll
applyAsInt, getByte, put, removeByte
int size()
Integer.MAX_VALUE
elements, returns
Integer.MAX_VALUE
.default void clear()
void defaultReturnValue(byte 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 Object2ByteFunction<K>
rv
- the new default return value.defaultReturnValue()
byte defaultReturnValue()
defaultReturnValue
in interface Object2ByteFunction<K>
ObjectSet<Object2ByteMap.Entry<K>> object2ByteEntrySet()
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.Byte>> entrySet()
Note that this specification strengthens the one given in
Map.entrySet()
.
entrySet
in interface java.util.Map<K,java.lang.Byte>
Map.entrySet()
@Deprecated default java.lang.Byte put(K key, java.lang.Byte value)
This default implementation just delegates to the corresponding type-specific–function method.
put
in interface Function<K,java.lang.Byte>
put
in interface java.util.Map<K,java.lang.Byte>
put
in interface Object2ByteFunction<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.Byte get(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
get
in interface Function<K,java.lang.Byte>
get
in interface java.util.Map<K,java.lang.Byte>
get
in interface Object2ByteFunction<K>
key
- the key.null
if no value was present for the given key.Map.get(Object)
@Deprecated default java.lang.Byte remove(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
remove
in interface Function<K,java.lang.Byte>
remove
in interface java.util.Map<K,java.lang.Byte>
remove
in interface Object2ByteFunction<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.Byte>
Map.keySet()
ByteCollection values()
Note that this specification strengthens the one given in
Map.values()
.
values
in interface java.util.Map<K,java.lang.Byte>
Map.values()
boolean containsKey(java.lang.Object key)
containsKey
in interface Function<K,java.lang.Byte>
containsKey
in interface java.util.Map<K,java.lang.Byte>
key
- the key.key
.Map.containsKey(Object)
boolean containsValue(byte 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.Byte>
default byte getOrDefault(java.lang.Object key, byte 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 byte putIfAbsent(K key, byte 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, byte 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, byte oldValue, byte 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 byte replace(K key, byte value)
key
- key with which the specified value is associated.value
- value to be associated with the specified key.Map.replace(Object, Object)
default byte computeByteIfAbsent(K key, java.util.function.ToIntFunction<? 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 byte computeByteIfAbsentPartial(K key, Object2ByteFunction<? 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 byte computeByteIfPresent(K key, java.util.function.BiFunction<? super K,? super java.lang.Byte,? extends java.lang.Byte> 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 byte computeByte(K key, java.util.function.BiFunction<? super K,? super java.lang.Byte,? extends java.lang.Byte> 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 byte mergeByte(K key, byte value, java.util.function.BiFunction<? super java.lang.Byte,? super java.lang.Byte,? extends java.lang.Byte> 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.Byte getOrDefault(java.lang.Object key, java.lang.Byte defaultValue)
This default implementation just delegates to the corresponding Map
method.
getOrDefault
in interface java.util.Map<K,java.lang.Byte>
@Deprecated default java.lang.Byte putIfAbsent(K key, java.lang.Byte value)
This default implementation just delegates to the corresponding Map
method.
putIfAbsent
in interface java.util.Map<K,java.lang.Byte>
@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.Byte>
@Deprecated default boolean replace(K key, java.lang.Byte oldValue, java.lang.Byte newValue)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Byte>
@Deprecated default java.lang.Byte replace(K key, java.lang.Byte value)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<K,java.lang.Byte>
@Deprecated default java.lang.Byte merge(K key, java.lang.Byte value, java.util.function.BiFunction<? super java.lang.Byte,? super java.lang.Byte,? extends java.lang.Byte> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
merge
in interface java.util.Map<K,java.lang.Byte>