Interface Object2ObjectMap<K,V>
- All Superinterfaces:
Function<K,V>,java.util.function.Function<K,V>,java.util.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>, java.util.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(java.lang.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<java.util.Map.Entry<K,V>>entrySet()Returns a set view of the mappings contained in this map.default voidforEach(java.util.function.BiConsumer<? super K,? super V> consumer)default VgetOrDefault(java.lang.Object key, V defaultValue)Returns the value associated by this function to the specified key, or give the specified value if not present.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(java.lang.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.function.Function
andThen, composeMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsValue, equals, get, hashCode, isEmpty, merge, putAll, putIfAbsent, remove, replace, replace, replaceAllMethods inherited from interface it.unimi.dsi.fastutil.objects.Object2ObjectFunction
andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, get
-
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. -
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. -
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 interfacejava.util.Map<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 interfacejava.util.Map<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
-
values
ObjectCollection<V> values() -
containsKey
boolean containsKey(java.lang.Object key)Returns true if this function contains a mapping for the specified key. -
forEach
-
getOrDefault
Description copied from interface:Object2ObjectFunctionReturns the value associated by this function to the specified key, or give the specified value if not present.- Specified by:
getOrDefaultin interfaceFunction<K,V>- Specified by:
getOrDefaultin interfacejava.util.Map<K,V>- Specified by:
getOrDefaultin interfaceObject2ObjectFunction<K,V>- Parameters:
key- the key.defaultValue- the value to return if not present.- Returns:
- the corresponding value, or
defaultValueif no value was present for the given key. - See Also:
Function.getOrDefault(Object, Object)
-