Interface Object2ObjectMap<K,V>
- All Superinterfaces:
Function<K,V>,Function<K,V>,Map<K,V>,Object2ObjectFunction<K,V>
- All Known Subinterfaces:
Object2ObjectSortedMap<K,V>
- All Known Implementing Classes:
AbstractObject2ObjectMap,AbstractObject2ObjectSortedMap,Object2ObjectArrayMap,Object2ObjectAVLTreeMap,Object2ObjectLinkedOpenCustomHashMap,Object2ObjectLinkedOpenHashMap,Object2ObjectMaps.EmptyMap,Object2ObjectMaps.Singleton,Object2ObjectMaps.SynchronizedMap,Object2ObjectMaps.UnmodifiableMap,Object2ObjectOpenCustomHashMap,Object2ObjectOpenHashMap,Object2ObjectRBTreeMap,Object2ObjectSortedMaps.EmptySortedMap,Object2ObjectSortedMaps.Singleton,Object2ObjectSortedMaps.SynchronizedSortedMap,Object2ObjectSortedMaps.UnmodifiableSortedMap
public interface Object2ObjectMap<K,V> extends Object2ObjectFunction<K,V>, Map<K,V>
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
Object2ObjectMap.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).
- See Also:
Map
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceObject2ObjectMap.Entry<K,V>A type-specificMap.Entry; provides some additional methods that use polymorphism to avoid (un)boxing.static interfaceObject2ObjectMap.FastEntrySet<K,V>An entry set providing fast iteration. -
Method Summary
Modifier and Type Method Description default voidclear()Removes all of the mappings from this map (optional operation).booleancontainsKey(Object key)Returns true if this function contains a mapping for the specified key.VdefaultReturnValue()Gets the default return value.voiddefaultReturnValue(V rv)Sets the default return value (optional operation).default ObjectSet<Map.Entry<K,V>>entrySet()Returns a set view of the mappings contained in this map.ObjectSet<K>keySet()ObjectSet<Object2ObjectMap.Entry<K,V>>object2ObjectEntrySet()Returns a type-specific set view of the mappings contained in this map.default Vput(K key, V value)Adds a pair to the map (optional operation).default Vremove(Object key)Removes the mapping with the given key (optional operation).intsize()Returns the number of key/value mappings in this map.ObjectCollection<V>values()Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll
-
Method Details
-
size
int size()Returns the number of key/value mappings in this map. If the map contains more thanInteger.MAX_VALUEelements, returnsInteger.MAX_VALUE. -
clear
default void clear()Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.- Specified by:
clearin interfaceFunction<K,V>- Specified by:
clearin interfaceMap<K,V>- Throws:
UnsupportedOperationException- if theclear()operation is not supported by this map- See Also:
Map.clear()
-
defaultReturnValue
Sets the default return value (optional operation). This value must be returned by type-specific versions ofget(),put()andremove()to denote that the map does not contain the specified key. It must benullby default.Warning: Changing this to a non-null value can have unforeseen consequences. Especially, it breaks compatibility with the specifications of Java's
Mapinterface. It has to be used with great care and thorough study of all method comments is recommended.- Specified by:
defaultReturnValuein interfaceObject2ObjectFunction<K,V>- Parameters:
rv- the new default return value.- See Also:
defaultReturnValue()
-
defaultReturnValue
V defaultReturnValue()Gets the default return value.- Specified by:
defaultReturnValuein interfaceObject2ObjectFunction<K,V>- Returns:
- the current default return value.
-
object2ObjectEntrySet
ObjectSet<Object2ObjectMap.Entry<K,V>> object2ObjectEntrySet()Returns a type-specific set view of the mappings contained in this map.This method is necessary because there is no inheritance along type parameters: it is thus impossible to strengthen
Map.entrySet()so that it returns anObjectSetof type-specific entries (the latter makes it possible to access keys and values with type-specific methods).- Returns:
- a type-specific set view of the mappings contained in this map.
- See Also:
Map.entrySet()
-
entrySet
Returns a set view of the mappings contained in this map.Note that this specification strengthens the one given in
Map.entrySet().- Specified by:
entrySetin interfaceMap<K,V>- Returns:
- a set view of the mappings contained in this map.
- See Also:
Map.entrySet()
-
put
Adds a pair to the map (optional operation).This default implementation just delegates to the corresponding function method.
- Specified by:
putin interfaceFunction<K,V>- Specified by:
putin interfaceMap<K,V>- Specified by:
putin interfaceObject2ObjectFunction<K,V>- Parameters:
key- the key.value- the value.- Returns:
- the old value, or the default return value if no value was present for the given key.
- See Also:
Function.put(Object,Object)
-
remove
Removes the mapping with the given key (optional operation).This default implementation just delegates to the corresponding type-specific–function method.
- Specified by:
removein interfaceFunction<K,V>- Specified by:
removein interfaceMap<K,V>- Specified by:
removein interfaceObject2ObjectFunction<K,V>- Parameters:
key- the key.- Returns:
- the old value, or the default return value if no value was present for the given key.
- See Also:
Function.remove(Object)
-
keySet
Note that this specification strengthens the one given in
Map.keySet().- Specified by:
keySetin interfaceMap<K,V>- Returns:
- a set view of the keys contained in this map.
- See Also:
Map.keySet()
-
values
ObjectCollection<V> values()Note that this specification strengthens the one given in
Map.values().- Specified by:
valuesin interfaceMap<K,V>- Returns:
- a set view of the values contained in this map.
- See Also:
Map.values()
-
containsKey
Returns true if this function contains a mapping for the specified key.- Specified by:
containsKeyin interfaceFunction<K,V>- Specified by:
containsKeyin interfaceMap<K,V>- Parameters:
key- the key.- Returns:
- true if this function associates a value to
key. - See Also:
Map.containsKey(Object)
-