Package it.unimi.dsi.fastutil.objects
Class Object2DoubleFunctions
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.Object2DoubleFunctions
-
public final class Object2DoubleFunctions extends Object
A class providing static methods and objects that do useful things with type-specific functions.- See Also:
Function,Collections
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classObject2DoubleFunctions.EmptyFunction<K>An immutable class representing an empty type-specific function.static classObject2DoubleFunctions.PrimitiveFunction<K>An adapter for mapping generic total functions to partial primitive functions.static classObject2DoubleFunctions.Singleton<K>An immutable class representing a type-specific singleton function.static classObject2DoubleFunctions.SynchronizedFunction<K>A synchronized wrapper class for functions.static classObject2DoubleFunctions.UnmodifiableFunction<K>An unmodifiable wrapper class for functions.
-
Field Summary
Fields Modifier and Type Field Description static Object2DoubleFunctions.EmptyFunctionEMPTY_FUNCTIONAn empty type-specific function (immutable).
-
Method Summary
Modifier and Type Method Description static <K> Object2DoubleFunction<K>primitive(Function<? super K,? extends Double> f)Returns a (partial) type-specific function based on the given total generic function.static <K> Object2DoubleFunction<K>singleton(K key, double value)Returns a type-specific immutable function containing only the specified pair.static <K> Object2DoubleFunction<K>singleton(K key, Double value)Returns a type-specific immutable function containing only the specified pair.static <K> Object2DoubleFunction<K>synchronize(Object2DoubleFunction<K> f)Returns a synchronized type-specific function backed by the given type-specific function.static <K> Object2DoubleFunction<K>synchronize(Object2DoubleFunction<K> f, Object sync)Returns a synchronized type-specific function backed by the given type-specific function, using an assigned object to synchronize.static <K> Object2DoubleFunction<K>unmodifiable(Object2DoubleFunction<K> f)Returns an unmodifiable type-specific function backed by the given type-specific function.
-
-
-
Field Detail
-
EMPTY_FUNCTION
public static final Object2DoubleFunctions.EmptyFunction EMPTY_FUNCTION
An empty type-specific function (immutable). It is serializable and cloneable.
-
-
Method Detail
-
singleton
public static <K> Object2DoubleFunction<K> singleton(K key, double value)
Returns a type-specific immutable function containing only the specified pair. The returned function is serializable and cloneable.Note that albeit the returned function is immutable, its default return value may be changed.
- Parameters:
key- the only key of the returned function.value- the only value of the returned function.- Returns:
- a type-specific immutable function containing just the pair
<key,value>.
-
singleton
public static <K> Object2DoubleFunction<K> singleton(K key, Double value)
Returns a type-specific immutable function containing only the specified pair. The returned function is serializable and cloneable.Note that albeit the returned function is immutable, its default return value may be changed.
- Parameters:
key- the only key of the returned function.value- the only value of the returned function.- Returns:
- a type-specific immutable function containing just the pair
<key,value>.
-
synchronize
public static <K> Object2DoubleFunction<K> synchronize(Object2DoubleFunction<K> f)
Returns a synchronized type-specific function backed by the given type-specific function.- Parameters:
f- the function to be wrapped in a synchronized function.- Returns:
- a synchronized view of the specified function.
- See Also:
Collections.synchronizedMap(java.util.Map)
-
synchronize
public static <K> Object2DoubleFunction<K> synchronize(Object2DoubleFunction<K> f, Object sync)
Returns a synchronized type-specific function backed by the given type-specific function, using an assigned object to synchronize.- Parameters:
f- the function to be wrapped in a synchronized function.sync- an object that will be used to synchronize the access to the function.- Returns:
- a synchronized view of the specified function.
- See Also:
Collections.synchronizedMap(java.util.Map)
-
unmodifiable
public static <K> Object2DoubleFunction<K> unmodifiable(Object2DoubleFunction<K> f)
Returns an unmodifiable type-specific function backed by the given type-specific function.- Parameters:
f- the function to be wrapped in an unmodifiable function.- Returns:
- an unmodifiable view of the specified function.
- See Also:
Collections.unmodifiableMap(java.util.Map)
-
primitive
public static <K> Object2DoubleFunction<K> primitive(Function<? super K,? extends Double> f)
Returns a (partial) type-specific function based on the given total generic function.The returned function contains all keys which are not mapped to
null. If the function already is a primitive function, it is returned without changes.Warning: If the given function is a “widened” primitive function (e.g. an
Int2IntFunctiongiven toShort2ShortFunctions), it still is wrapped into a proxy, decreasing performance.- Parameters:
f- the function to be converted to a type-specific function.- Returns:
- a primitive view of the specified function.
- Throws:
NullPointerException- iffis null.- Since:
- 8.1.0
- See Also:
Object2DoubleFunctions.PrimitiveFunction
-
-