Interface Reference2ObjectMap<K,V>
- All Superinterfaces:
it.unimi.dsi.fastutil.Function<K,V>,java.util.function.Function<K,V>,java.util.Map<K,V>,it.unimi.dsi.fastutil.objects.Reference2ObjectFunction<K,V>
- All Known Subinterfaces:
Reference2ObjectSortedMap<K,V>
- All Known Implementing Classes:
AbstractReference2ObjectMap,AbstractReference2ObjectSortedMap,Reference2ObjectArrayMap,Reference2ObjectLinkedOpenHashMap,Reference2ObjectMaps.EmptyMap,Reference2ObjectMaps.Singleton,Reference2ObjectMaps.SynchronizedMap,Reference2ObjectMaps.UnmodifiableMap,Reference2ObjectOpenCustomHashMap,Reference2ObjectOpenHashMap,Reference2ObjectSortedMaps.EmptySortedMap,Reference2ObjectSortedMaps.Singleton,Reference2ObjectSortedMaps.SynchronizedSortedMap,Reference2ObjectSortedMaps.UnmodifiableSortedMap
public interface Reference2ObjectMap<K,V>
extends it.unimi.dsi.fastutil.objects.Reference2ObjectFunction<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 Reference2ObjectMap.FastEntrySet support also fast iteration.
This interface specifies reference equality semantics (members will be compared equal with
== instead of equals) for its keys or values (or both), which may result in breaks in contract
if attempted to be used with non reference-equality semantics based Maps. For example, a
aReferenceToIntMap.equals(aObjectToIntMap) may return different a different result then
aObjectToIntMap.equals(aReferenceToIntMap), in violation of equals's
contract requiring it being symmetric.
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 interfaceReference2ObjectMap.Entry<K,V>A type-specificMap.Entry; provides some additional methods that use polymorphism to avoid (un)boxing.static interfaceReference2ObjectMap.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 it.unimi.dsi.fastutil.objects.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)ReferenceSet<K>keySet()default Vput(K key, V value)it.unimi.dsi.fastutil.objects.ObjectSet<Reference2ObjectMap.Entry<K,V>>reference2ObjectEntrySet()Returns a type-specific set view of the mappings contained in this map.default Vremove(java.lang.Object key)intsize()Returns the number of key/value mappings in this map.it.unimi.dsi.fastutil.objects.ObjectCollection<V>values()Methods inherited from interface it.unimi.dsi.fastutil.Function
applyMethods 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.Reference2ObjectFunction
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 interfaceit.unimi.dsi.fastutil.objects.Reference2ObjectFunction<K,V>- Parameters:
rv- the new default return value.- See Also:
defaultReturnValue()
-
defaultReturnValue
V defaultReturnValue()Gets the default return value. -
reference2ObjectEntrySet
it.unimi.dsi.fastutil.objects.ObjectSet<Reference2ObjectMap.Entry<K,V>> reference2ObjectEntrySet()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
This default implementation just delegates to the corresponding function method.
-
remove
This default implementation just delegates to the corresponding type-specific–function method.
-
keySet
ReferenceSet<K> keySet() -
values
it.unimi.dsi.fastutil.objects.ObjectCollection<V> values() -
containsKey
boolean containsKey(java.lang.Object key)Returns true if this function contains a mapping for the specified key. -
forEach
-
getOrDefault
-