com.koloboke.collect.map
Interface DoubleDoubleMapFactory<F extends DoubleDoubleMapFactory<F>>

Type Parameters:
F - the concrete factory type which extends this interface
All Superinterfaces:
ContainerFactory<F>
All Known Subinterfaces:
HashDoubleDoubleMapFactory

public interface DoubleDoubleMapFactory<F extends DoubleDoubleMapFactory<F>>
extends ContainerFactory<F>

An immutable factory of DoubleDoubleMaps.

See Also:
DoubleDoubleMap, @KolobokeMap

Method Summary
 double getDefaultValue()
          Returns the value to which default value of the maps constructed by this factory is set.
 DoubleDoubleMap newImmutableMap(Consumer<DoubleDoubleConsumer> entriesSupplier)
          Constructs a new immutable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newImmutableMap(Consumer<DoubleDoubleConsumer> entriesSupplier, int expectedSize)
          Constructs a new immutable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newImmutableMap(double[] keys, double[] values)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newImmutableMap(Double[] keys, Double[] values)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newImmutableMap(double[] keys, double[] values, int expectedSize)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newImmutableMap(Double[] keys, Double[] values, int expectedSize)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newImmutableMap(Iterable<Double> keys, Iterable<Double> values)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newImmutableMap(Iterable<Double> keys, Iterable<Double> values, int expectedSize)
          Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map)
          Constructs a new immutable map with the same mappings as the specified map.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newImmutableMapOf(double k1, double v1)
          Constructs a new immutable map of the single specified mapping.
 DoubleDoubleMap newImmutableMapOf(double k1, double v1, double k2, double v2)
          Constructs a new immutable map of the two specified mappings.
 DoubleDoubleMap newImmutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3)
          Constructs a new immutable map of the three specified mappings.
 DoubleDoubleMap newImmutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4)
          Constructs a new immutable map of the four specified mappings.
 DoubleDoubleMap newImmutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4, double k5, double v5)
          Constructs a new immutable map of the five specified mappings.
 DoubleDoubleMap newMutableMap()
          Constructs a new empty mutable map of the default expected size.
 DoubleDoubleMap newMutableMap(Consumer<DoubleDoubleConsumer> entriesSupplier)
          Constructs a new mutable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newMutableMap(Consumer<DoubleDoubleConsumer> entriesSupplier, int expectedSize)
          Constructs a new mutable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newMutableMap(double[] keys, double[] values)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newMutableMap(Double[] keys, Double[] values)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newMutableMap(double[] keys, double[] values, int expectedSize)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newMutableMap(Double[] keys, Double[] values, int expectedSize)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newMutableMap(int expectedSize)
          Constructs a new empty mutable map of the given expected size.
 DoubleDoubleMap newMutableMap(Iterable<Double> keys, Iterable<Double> values)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newMutableMap(Iterable<Double> keys, Iterable<Double> values, int expectedSize)
          Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map)
          Constructs a new mutable map with the same mappings as the specified map.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
 DoubleDoubleMap newMutableMapOf(double k1, double v1)
          Constructs a new mutable map of the single specified mapping.
 DoubleDoubleMap newMutableMapOf(double k1, double v1, double k2, double v2)
          Constructs a new mutable map of the two specified mappings.
 DoubleDoubleMap newMutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3)
          Constructs a new mutable map of the three specified mappings.
 DoubleDoubleMap newMutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4)
          Constructs a new mutable map of the four specified mappings.
 DoubleDoubleMap newMutableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4, double k5, double v5)
          Constructs a new mutable map of the five specified mappings.
 DoubleDoubleMap newUpdatableMap()
          Constructs a new empty updatable map of the default expected size.
 DoubleDoubleMap newUpdatableMap(Consumer<DoubleDoubleConsumer> entriesSupplier)
          Constructs a new updatable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newUpdatableMap(Consumer<DoubleDoubleConsumer> entriesSupplier, int expectedSize)
          Constructs a new updatable map filled with mappings consumed by the callback within the given closure.
 DoubleDoubleMap newUpdatableMap(double[] keys, double[] values)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newUpdatableMap(Double[] keys, Double[] values)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newUpdatableMap(double[] keys, double[] values, int expectedSize)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newUpdatableMap(Double[] keys, Double[] values, int expectedSize)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index.
 DoubleDoubleMap newUpdatableMap(int expectedSize)
          Constructs a new empty updatable map of the given expected size.
 DoubleDoubleMap newUpdatableMap(Iterable<Double> keys, Iterable<Double> values)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newUpdatableMap(Iterable<Double> keys, Iterable<Double> values, int expectedSize)
          Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map)
          Constructs a new updatable map with the same mappings as the specified map.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMap(Map<Double,Double> map1, Map<Double,Double> map2, Map<Double,Double> map3, Map<Double,Double> map4, Map<Double,Double> map5, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
 DoubleDoubleMap newUpdatableMapOf(double k1, double v1)
          Constructs a new updatable map of the single specified mapping.
 DoubleDoubleMap newUpdatableMapOf(double k1, double v1, double k2, double v2)
          Constructs a new updatable map of the two specified mappings.
 DoubleDoubleMap newUpdatableMapOf(double k1, double v1, double k2, double v2, double k3, double v3)
          Constructs a new updatable map of the three specified mappings.
 DoubleDoubleMap newUpdatableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4)
          Constructs a new updatable map of the four specified mappings.
 DoubleDoubleMap newUpdatableMapOf(double k1, double v1, double k2, double v2, double k3, double v3, double k4, double v4, double k5, double v5)
          Constructs a new updatable map of the five specified mappings.
 F withDefaultValue(double defaultValue)
          Returns a copy of this factory, with exception that it constructs maps with default value set to the given double value.
 
Methods inherited from interface com.koloboke.collect.ContainerFactory
getDefaultExpectedSize, withDefaultExpectedSize
 

Method Detail

getDefaultValue

double getDefaultValue()
Returns the value to which default value of the maps constructed by this factory is set. Default value is 0.0.

Returns:
the default value of the maps constructed by this factory

withDefaultValue

@Nonnull
F withDefaultValue(double defaultValue)
Returns a copy of this factory, with exception that it constructs maps with default value set to the given double value.

Parameters:
defaultValue - the new default double value
Returns:
a copy of this factory, which constructs maps with the given defaultValue

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap()
Constructs a new empty mutable map of the default expected size.

Returns:
a new empty mutable map

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(int expectedSize)
Constructs a new empty mutable map of the given expected size.

Parameters:
expectedSize - the expected size of the returned map
Returns:
a new empty mutable map of the given expected size

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      int expectedSize)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
expectedSize - the expected size of the returned map
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3,
                                      int expectedSize)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
expectedSize - the expected size of the returned map
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3,
                                      @Nonnull
                                      Map<Double,Double> map4,
                                      int expectedSize)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
expectedSize - the expected size of the returned map
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3,
                                      @Nonnull
                                      Map<Double,Double> map4,
                                      @Nonnull
                                      Map<Double,Double> map5,
                                      int expectedSize)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
expectedSize - the expected size of the returned map
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Consumer<DoubleDoubleConsumer> entriesSupplier,
                                      int expectedSize)
Constructs a new mutable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
expectedSize - the expected size of the returned map
Returns:
a new mutable map with mappings consumed by the callback within the given closure

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      double[] keys,
                                      @Nonnull
                                      double[] values,
                                      int expectedSize)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Double[] keys,
                                      @Nonnull
                                      Double[] values,
                                      int expectedSize)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Iterable<Double> keys,
                                      @Nonnull
                                      Iterable<Double> values,
                                      int expectedSize)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
expectedSize - the expected size of the returned map
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map)
Constructs a new mutable map with the same mappings as the specified map.

Parameters:
map - the map whose mappings are to be placed in the returned map
Returns:
a new mutable map with the same mappings as the specified map

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3,
                                      @Nonnull
                                      Map<Double,Double> map4)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Map<Double,Double> map1,
                                      @Nonnull
                                      Map<Double,Double> map2,
                                      @Nonnull
                                      Map<Double,Double> map3,
                                      @Nonnull
                                      Map<Double,Double> map4,
                                      @Nonnull
                                      Map<Double,Double> map5)
Constructs a new mutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
Returns:
a new mutable map which merge the mappings of the specified maps

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Consumer<DoubleDoubleConsumer> entriesSupplier)
Constructs a new mutable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
Returns:
a new mutable map with mappings consumed by the callback within the given closure

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      double[] keys,
                                      @Nonnull
                                      double[] values)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Double[] keys,
                                      @Nonnull
                                      Double[] values)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newMutableMap

@Nonnull
DoubleDoubleMap newMutableMap(@Nonnull
                                      Iterable<Double> keys,
                                      @Nonnull
                                      Iterable<Double> values)
Constructs a new mutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
Returns:
a new mutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newMutableMapOf

@Nonnull
DoubleDoubleMap newMutableMapOf(double k1,
                                        double v1)
Constructs a new mutable map of the single specified mapping.

Parameters:
k1 - the key of the sole mapping
v1 - the value of the sole mapping
Returns:
a new mutable map of the single specified mapping

newMutableMapOf

@Nonnull
DoubleDoubleMap newMutableMapOf(double k1,
                                        double v1,
                                        double k2,
                                        double v2)
Constructs a new mutable map of the two specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
Returns:
a new mutable map of the two specified mappings

newMutableMapOf

@Nonnull
DoubleDoubleMap newMutableMapOf(double k1,
                                        double v1,
                                        double k2,
                                        double v2,
                                        double k3,
                                        double v3)
Constructs a new mutable map of the three specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
Returns:
a new mutable map of the three specified mappings

newMutableMapOf

@Nonnull
DoubleDoubleMap newMutableMapOf(double k1,
                                        double v1,
                                        double k2,
                                        double v2,
                                        double k3,
                                        double v3,
                                        double k4,
                                        double v4)
Constructs a new mutable map of the four specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
Returns:
a new mutable map of the four specified mappings

newMutableMapOf

@Nonnull
DoubleDoubleMap newMutableMapOf(double k1,
                                        double v1,
                                        double k2,
                                        double v2,
                                        double k3,
                                        double v3,
                                        double k4,
                                        double v4,
                                        double k5,
                                        double v5)
Constructs a new mutable map of the five specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
k5 - the key of the fifth mapping
v5 - the value of the fifth mapping
Returns:
a new mutable map of the five specified mappings

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap()
Constructs a new empty updatable map of the default expected size.

Returns:
a new empty updatable map

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(int expectedSize)
Constructs a new empty updatable map of the given expected size.

Parameters:
expectedSize - the expected size of the returned map
Returns:
a new empty updatable map of the given expected size

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        int expectedSize)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
expectedSize - the expected size of the returned map
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        int expectedSize)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
expectedSize - the expected size of the returned map
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        int expectedSize)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
expectedSize - the expected size of the returned map
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        @Nonnull
                                        Map<Double,Double> map5,
                                        int expectedSize)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
expectedSize - the expected size of the returned map
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Consumer<DoubleDoubleConsumer> entriesSupplier,
                                        int expectedSize)
Constructs a new updatable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
expectedSize - the expected size of the returned map
Returns:
a new updatable map with mappings consumed by the callback within the given closure

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        double[] keys,
                                        @Nonnull
                                        double[] values,
                                        int expectedSize)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Double[] keys,
                                        @Nonnull
                                        Double[] values,
                                        int expectedSize)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Iterable<Double> keys,
                                        @Nonnull
                                        Iterable<Double> values,
                                        int expectedSize)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
expectedSize - the expected size of the returned map
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map)
Constructs a new updatable map with the same mappings as the specified map.

Parameters:
map - the map whose mappings are to be placed in the returned map
Returns:
a new updatable map with the same mappings as the specified map

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        @Nonnull
                                        Map<Double,Double> map5)
Constructs a new updatable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
Returns:
a new updatable map which merge the mappings of the specified maps

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Consumer<DoubleDoubleConsumer> entriesSupplier)
Constructs a new updatable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
Returns:
a new updatable map with mappings consumed by the callback within the given closure

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        double[] keys,
                                        @Nonnull
                                        double[] values)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Double[] keys,
                                        @Nonnull
                                        Double[] values)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newUpdatableMap

@Nonnull
DoubleDoubleMap newUpdatableMap(@Nonnull
                                        Iterable<Double> keys,
                                        @Nonnull
                                        Iterable<Double> values)
Constructs a new updatable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
Returns:
a new updatable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newUpdatableMapOf

@Nonnull
DoubleDoubleMap newUpdatableMapOf(double k1,
                                          double v1)
Constructs a new updatable map of the single specified mapping.

Parameters:
k1 - the key of the sole mapping
v1 - the value of the sole mapping
Returns:
a new updatable map of the single specified mapping

newUpdatableMapOf

@Nonnull
DoubleDoubleMap newUpdatableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2)
Constructs a new updatable map of the two specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
Returns:
a new updatable map of the two specified mappings

newUpdatableMapOf

@Nonnull
DoubleDoubleMap newUpdatableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3)
Constructs a new updatable map of the three specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
Returns:
a new updatable map of the three specified mappings

newUpdatableMapOf

@Nonnull
DoubleDoubleMap newUpdatableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3,
                                          double k4,
                                          double v4)
Constructs a new updatable map of the four specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
Returns:
a new updatable map of the four specified mappings

newUpdatableMapOf

@Nonnull
DoubleDoubleMap newUpdatableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3,
                                          double k4,
                                          double v4,
                                          double k5,
                                          double v5)
Constructs a new updatable map of the five specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
k5 - the key of the fifth mapping
v5 - the value of the fifth mapping
Returns:
a new updatable map of the five specified mappings

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        int expectedSize)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
expectedSize - the expected size of the returned map
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        int expectedSize)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
expectedSize - the expected size of the returned map
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        int expectedSize)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
expectedSize - the expected size of the returned map
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        @Nonnull
                                        Map<Double,Double> map5,
                                        int expectedSize)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
expectedSize - the expected size of the returned map
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Consumer<DoubleDoubleConsumer> entriesSupplier,
                                        int expectedSize)
Constructs a new immutable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
expectedSize - the expected size of the returned map
Returns:
a new immutable map with mappings consumed by the callback within the given closure

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        double[] keys,
                                        @Nonnull
                                        double[] values,
                                        int expectedSize)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Double[] keys,
                                        @Nonnull
                                        Double[] values,
                                        int expectedSize)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
expectedSize - the expected size of the returned map
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Iterable<Double> keys,
                                        @Nonnull
                                        Iterable<Double> values,
                                        int expectedSize)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
expectedSize - the expected size of the returned map
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map)
Constructs a new immutable map with the same mappings as the specified map.

Parameters:
map - the map whose mappings are to be placed in the returned map
Returns:
a new immutable map with the same mappings as the specified map

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the map2 have priority over mappings from the map1 with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Map<Double,Double> map1,
                                        @Nonnull
                                        Map<Double,Double> map2,
                                        @Nonnull
                                        Map<Double,Double> map3,
                                        @Nonnull
                                        Map<Double,Double> map4,
                                        @Nonnull
                                        Map<Double,Double> map5)
Constructs a new immutable map which merge the mappings of the specified maps. On conflict, mappings from the maps passed later in the argument list have priority over mappings from the maps passed earlier with the same keys.

Parameters:
map1 - the first map to merge
map2 - the second map to merge
map3 - the third map to merge
map4 - the fourth map to merge
map5 - the fifth map to merge
Returns:
a new immutable map which merge the mappings of the specified maps

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Consumer<DoubleDoubleConsumer> entriesSupplier)
Constructs a new immutable map filled with mappings consumed by the callback within the given closure. Mappings supplied later within the closure have priority over the mappings passed earlier with the same keys.

Example: TODO

Parameters:
entriesSupplier - the function which supply mappings for the returned map via the callback passed in
Returns:
a new immutable map with mappings consumed by the callback within the given closure

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        double[] keys,
                                        @Nonnull
                                        double[] values)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Double[] keys,
                                        @Nonnull
                                        Double[] values)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values arrays at the same index. If keys array have duplicate elements, value corresponding the key with the highest index is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys array at the same index
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values arrays have different length
NullPointerException - if keys or values contain null elements

newImmutableMap

@Nonnull
DoubleDoubleMap newImmutableMap(@Nonnull
                                        Iterable<Double> keys,
                                        @Nonnull
                                        Iterable<Double> values)
Constructs a new immutable map with the given mappings, i. e. pairs of elements from the keys and values iterables at the same iteration position. If keys have duplicate elements, value corresponding the key appeared last in the iteration is left in the returned map.

Parameters:
keys - the keys of the returned map
values - the values of the returned map, each value is associated with the element of the keys iterable at the same iteration position
Returns:
a new immutable map with the given mappings
Throws:
IllegalArgumentException - if keys and values have different size

newImmutableMapOf

@Nonnull
DoubleDoubleMap newImmutableMapOf(double k1,
                                          double v1)
Constructs a new immutable map of the single specified mapping.

Parameters:
k1 - the key of the sole mapping
v1 - the value of the sole mapping
Returns:
a new immutable map of the single specified mapping

newImmutableMapOf

@Nonnull
DoubleDoubleMap newImmutableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2)
Constructs a new immutable map of the two specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
Returns:
a new immutable map of the two specified mappings

newImmutableMapOf

@Nonnull
DoubleDoubleMap newImmutableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3)
Constructs a new immutable map of the three specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
Returns:
a new immutable map of the three specified mappings

newImmutableMapOf

@Nonnull
DoubleDoubleMap newImmutableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3,
                                          double k4,
                                          double v4)
Constructs a new immutable map of the four specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
Returns:
a new immutable map of the four specified mappings

newImmutableMapOf

@Nonnull
DoubleDoubleMap newImmutableMapOf(double k1,
                                          double v1,
                                          double k2,
                                          double v2,
                                          double k3,
                                          double v3,
                                          double k4,
                                          double v4,
                                          double k5,
                                          double v5)
Constructs a new immutable map of the five specified mappings.

Parameters:
k1 - the key of the first mapping
v1 - the value of the first mapping
k2 - the key of the second mapping
v2 - the value of the second mapping
k3 - the key of the third mapping
v3 - the value of the third mapping
k4 - the key of the fourth mapping
v4 - the value of the fourth mapping
k5 - the key of the fifth mapping
v5 - the value of the fifth mapping
Returns:
a new immutable map of the five specified mappings