public interface Char2CharMap extends Char2CharFunction, java.util.Map<java.lang.Character,java.lang.Character>
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 Char2CharMap.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 |
Char2CharMap.Entry
A type-specific
Map.Entry ; provides some additional methods
that use polymorphism to avoid (un)boxing. |
static interface |
Char2CharMap.FastEntrySet
An entry set providing fast iteration.
|
Modifier and Type | Method and Description |
---|---|
ObjectSet<Char2CharMap.Entry> |
char2CharEntrySet()
Returns a type-specific set view of the mappings contained in this map.
|
default void |
clear()
Removes all of the mappings from this map (optional operation).
|
default java.lang.Character |
compute(java.lang.Character key,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
compute(char key,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or
null if there is no current mapping). |
default java.lang.Character |
computeIfAbsent(java.lang.Character key,
java.util.function.Function<? super java.lang.Character,? extends java.lang.Character> mappingFunction)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
computeIfAbsent(char key,
Char2CharFunction 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 char |
computeIfAbsent(char key,
java.util.function.IntUnaryOperator 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 char |
computeIfAbsentNullable(char key,
java.util.function.IntFunction<? extends java.lang.Character> 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 it is
null . |
default char |
computeIfAbsentPartial(char key,
Char2CharFunction mappingFunction)
Deprecated.
Please use
computeIfAbsent() instead. |
default java.lang.Character |
computeIfPresent(java.lang.Character key,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
computeIfPresent(char key,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> 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(char key)
Returns true if this function contains a mapping for the specified key.
|
default boolean |
containsKey(java.lang.Object key)
Deprecated.
Please use the corresponding type-specific method instead.
|
boolean |
containsValue(char 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.
|
char |
defaultReturnValue()
Gets the default return value.
|
void |
defaultReturnValue(char rv)
Sets the default return value (optional operation).
|
default ObjectSet<java.util.Map.Entry<java.lang.Character,java.lang.Character>> |
entrySet()
Deprecated.
Please use the corresponding type-specific method instead.
|
default void |
forEach(java.util.function.BiConsumer<? super java.lang.Character,? super java.lang.Character> consumer) |
default java.lang.Character |
get(java.lang.Object key)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
getOrDefault(char key,
char 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.Character |
getOrDefault(java.lang.Object key,
java.lang.Character defaultValue)
Deprecated.
Please use the corresponding type-specific method instead.
|
CharSet |
keySet() |
default java.lang.Character |
merge(java.lang.Character key,
java.lang.Character value,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
merge(char key,
char value,
java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
default char |
mergeChar(char key,
char value,
CharBinaryOperator remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
default char |
mergeChar(char key,
char value,
java.util.function.IntBinaryOperator remappingFunction)
If the specified key is not already associated with a value, associates it with the given
value . |
default java.lang.Character |
put(java.lang.Character key,
java.lang.Character value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Character |
putIfAbsent(java.lang.Character key,
java.lang.Character value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
putIfAbsent(char key,
char 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 boolean |
remove(char key,
char value)
Removes the entry for the specified key only if it is currently mapped to the specified value.
|
default java.lang.Character |
remove(java.lang.Object key)
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
remove(java.lang.Object key,
java.lang.Object value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default java.lang.Character |
replace(java.lang.Character key,
java.lang.Character value)
Deprecated.
Please use the corresponding type-specific method instead.
|
default boolean |
replace(java.lang.Character key,
java.lang.Character oldValue,
java.lang.Character newValue)
Deprecated.
Please use the corresponding type-specific method instead.
|
default char |
replace(char key,
char value)
Replaces the entry for the specified key only if it is currently mapped to some value.
|
default boolean |
replace(char key,
char oldValue,
char newValue)
Replaces the entry for the specified key only if currently mapped to the specified value.
|
int |
size()
Returns the number of key/value mappings in this map.
|
CharCollection |
values() |
andThen, andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, applyAsInt, compose, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, get, identity, put, remove
int size()
Integer.MAX_VALUE
elements, returns Integer.MAX_VALUE
.size
in interface java.util.Map<java.lang.Character,java.lang.Character>
Size64
default void clear()
clear
in interface java.util.Map<java.lang.Character,java.lang.Character>
java.lang.UnsupportedOperationException
- if the clear()
operation is not supported by this mapMap.clear()
void defaultReturnValue(char 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 Char2CharFunction
rv
- the new default return value.defaultReturnValue()
char defaultReturnValue()
defaultReturnValue
in interface Char2CharFunction
ObjectSet<Char2CharMap.Entry> char2CharEntrySet()
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<java.lang.Character,java.lang.Character>> entrySet()
entrySet
in interface java.util.Map<java.lang.Character,java.lang.Character>
Map.entrySet()
Map.entrySet()
.@Deprecated default java.lang.Character put(java.lang.Character key, java.lang.Character value)
This default implementation just delegates to the corresponding type-specific–function method.
put
in interface Char2CharFunction
put
in interface java.util.Map<java.lang.Character,java.lang.Character>
key
- the key.value
- the value.null
if no value was present for the given key.Map.put(Object,Object)
@Deprecated default java.lang.Character get(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
get
in interface Char2CharFunction
get
in interface java.util.Map<java.lang.Character,java.lang.Character>
key
- the key.null
if no value was present for the given key.Map.get(Object)
@Deprecated default java.lang.Character remove(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
remove
in interface Char2CharFunction
remove
in interface java.util.Map<java.lang.Character,java.lang.Character>
key
- the key.null
if no value was present for the given key.Map.remove(Object)
CharSet keySet()
keySet
in interface java.util.Map<java.lang.Character,java.lang.Character>
Map.keySet()
Map.keySet()
.CharCollection values()
values
in interface java.util.Map<java.lang.Character,java.lang.Character>
Map.values()
Map.values()
.boolean containsKey(char key)
containsKey
in interface Char2CharFunction
key
- the key.key
.Map.containsKey(Object)
@Deprecated default boolean containsKey(java.lang.Object key)
This default implementation just delegates to the corresponding type-specific–function method.
containsKey
in interface Char2CharFunction
containsKey
in interface java.util.Map<java.lang.Character,java.lang.Character>
key
- the key.key
.Map.containsKey(Object)
boolean containsValue(char 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<java.lang.Character,java.lang.Character>
default void forEach(java.util.function.BiConsumer<? super java.lang.Character,? super java.lang.Character> consumer)
forEach
in interface java.util.Map<java.lang.Character,java.lang.Character>
default char getOrDefault(char key, char defaultValue)
defaultValue
if this
map contains no mapping for the key.getOrDefault
in interface Char2CharFunction
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.Character getOrDefault(java.lang.Object key, java.lang.Character defaultValue)
This default implementation just delegates to the corresponding Map
method.
getOrDefault
in interface Char2CharFunction
getOrDefault
in interface java.util.Map<java.lang.Character,java.lang.Character>
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 char putIfAbsent(char key, char 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(char key, char 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(char key, char oldValue, char 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 char replace(char key, char value)
key
- key with which the specified value is associated.value
- value to be associated with the specified key.Map.replace(Object, Object)
default char computeIfAbsent(char key, java.util.function.IntUnaryOperator 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>)
.default char computeIfAbsentNullable(char key, java.util.function.IntFunction<? extends java.lang.Character> mappingFunction)
null
.
Note that this version of computeIfAbsent()
should be used only if you plan to return null
in the mapping function.
key
- key with which the specified value is to be associated.mappingFunction
- the function to compute a value.null
.Map.computeIfAbsent(Object, java.util.function.Function)
default char computeIfAbsent(char key, Char2CharFunction 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 char computeIfAbsentPartial(char key, Char2CharFunction mappingFunction)
computeIfAbsent()
instead.default char computeIfPresent(char key, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> 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 char compute(char key, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> 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 char merge(char key, char value, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> 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 char mergeChar(char key, char value, CharBinaryOperator 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 char mergeChar(char key, char value, java.util.function.IntBinaryOperator 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 java.lang.Character putIfAbsent(java.lang.Character key, java.lang.Character value)
This default implementation just delegates to the corresponding Map
method.
putIfAbsent
in interface java.util.Map<java.lang.Character,java.lang.Character>
@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<java.lang.Character,java.lang.Character>
@Deprecated default boolean replace(java.lang.Character key, java.lang.Character oldValue, java.lang.Character newValue)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<java.lang.Character,java.lang.Character>
@Deprecated default java.lang.Character replace(java.lang.Character key, java.lang.Character value)
This default implementation just delegates to the corresponding Map
method.
replace
in interface java.util.Map<java.lang.Character,java.lang.Character>
@Deprecated default java.lang.Character computeIfAbsent(java.lang.Character key, java.util.function.Function<? super java.lang.Character,? extends java.lang.Character> mappingFunction)
This default implementation just delegates to the corresponding Map
method.
computeIfAbsent
in interface java.util.Map<java.lang.Character,java.lang.Character>
@Deprecated default java.lang.Character computeIfPresent(java.lang.Character key, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
computeIfPresent
in interface java.util.Map<java.lang.Character,java.lang.Character>
@Deprecated default java.lang.Character compute(java.lang.Character key, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
compute
in interface java.util.Map<java.lang.Character,java.lang.Character>
@Deprecated default java.lang.Character merge(java.lang.Character key, java.lang.Character value, java.util.function.BiFunction<? super java.lang.Character,? super java.lang.Character,? extends java.lang.Character> remappingFunction)
This default implementation just delegates to the corresponding Map
method.
merge
in interface java.util.Map<java.lang.Character,java.lang.Character>