Package it.unimi.dsi.fastutil.doubles
Class Double2ObjectFunctions
- java.lang.Object
-
- it.unimi.dsi.fastutil.doubles.Double2ObjectFunctions
-
public final class Double2ObjectFunctions extends java.lang.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 class
Double2ObjectFunctions.EmptyFunction<V>
An immutable class representing an empty type-specific function.static class
Double2ObjectFunctions.PrimitiveFunction<V>
An adapter for mapping generic total functions to partial primitive functions.static class
Double2ObjectFunctions.Singleton<V>
An immutable class representing a type-specific singleton function.static class
Double2ObjectFunctions.SynchronizedFunction<V>
A synchronized wrapper class for functions.static class
Double2ObjectFunctions.UnmodifiableFunction<V>
An unmodifiable wrapper class for functions.
-
Field Summary
Fields Modifier and Type Field Description static Double2ObjectFunctions.EmptyFunction
EMPTY_FUNCTION
An empty type-specific function (immutable).
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <V> Double2ObjectFunction<V>
primitive(java.util.function.Function<? super java.lang.Double,? extends V> f)
Returns a (partial) type-specific function based on the given total generic function.static <V> Double2ObjectFunction<V>
singleton(double key, V value)
Returns a type-specific immutable function containing only the specified pair.static <V> Double2ObjectFunction<V>
singleton(java.lang.Double key, V value)
Returns a type-specific immutable function containing only the specified pair.static <V> Double2ObjectFunction<V>
synchronize(Double2ObjectFunction<V> f)
Returns a synchronized type-specific function backed by the given type-specific function.static <V> Double2ObjectFunction<V>
synchronize(Double2ObjectFunction<V> f, java.lang.Object sync)
Returns a synchronized type-specific function backed by the given type-specific function, using an assigned object to synchronize.static <V> Double2ObjectFunction<V>
unmodifiable(Double2ObjectFunction<? extends V> f)
Returns an unmodifiable type-specific function backed by the given type-specific function.
-
-
-
Field Detail
-
EMPTY_FUNCTION
public static final Double2ObjectFunctions.EmptyFunction EMPTY_FUNCTION
An empty type-specific function (immutable). It is serializable and cloneable.
-
-
Method Detail
-
singleton
public static <V> Double2ObjectFunction<V> singleton(double key, V 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 <V> Double2ObjectFunction<V> singleton(java.lang.Double key, V 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 <V> Double2ObjectFunction<V> synchronize(Double2ObjectFunction<V> 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 <V> Double2ObjectFunction<V> synchronize(Double2ObjectFunction<V> f, java.lang.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 <V> Double2ObjectFunction<V> unmodifiable(Double2ObjectFunction<? extends V> 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 <V> Double2ObjectFunction<V> primitive(java.util.function.Function<? super java.lang.Double,? extends V> 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
Int2IntFunction
given 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:
java.lang.NullPointerException
- iff
is null.- Since:
- 8.1.0
- See Also:
Double2ObjectFunctions.PrimitiveFunction
-
-