com.koloboke.collect.map
Interface IntObjMapFactory<V,F extends IntObjMapFactory<V,F>>

Type Parameters:
V - the most general value type of the maps that could be constructed by this factory
F - the concrete factory type which extends this interface
All Superinterfaces:
ContainerFactory<F>
All Known Subinterfaces:
HashIntObjMapFactory<V>

public interface IntObjMapFactory<V,F extends IntObjMapFactory<V,F>>
extends ContainerFactory<F>

An immutable factory of IntObjMaps.

See Also:
IntObjMap, @KolobokeMap

Method Summary
 Equivalence<V> getValueEquivalence()
          Returns the equivalence to which value equivalence of the maps constructed by this factory is set.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Consumer<IntObjConsumer<V2>> entriesSupplier)
          Constructs a new immutable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Consumer<IntObjConsumer<V2>> entriesSupplier, int expectedSize)
          Constructs a new immutable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map)
          Constructs a new immutable map with the same mappings as the specified map.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5, int expectedSize)
          Constructs a new immutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newImmutableMapOf(int k1, V2 v1)
          Constructs a new immutable map of the single specified mapping.
<V2 extends V>
IntObjMap<V2>
newImmutableMapOf(int k1, V2 v1, int k2, V2 v2)
          Constructs a new immutable map of the two specified mappings.
<V2 extends V>
IntObjMap<V2>
newImmutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3)
          Constructs a new immutable map of the three specified mappings.
<V2 extends V>
IntObjMap<V2>
newImmutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4)
          Constructs a new immutable map of the four specified mappings.
<V2 extends V>
IntObjMap<V2>
newImmutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4, int k5, V2 v5)
          Constructs a new immutable map of the five specified mappings.
<V2 extends V>
IntObjMap<V2>
newMutableMap()
          Constructs a new empty mutable map of the default expected size.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Consumer<IntObjConsumer<V2>> entriesSupplier)
          Constructs a new mutable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Consumer<IntObjConsumer<V2>> entriesSupplier, int expectedSize)
          Constructs a new mutable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newMutableMap(int expectedSize)
          Constructs a new empty mutable map of the given expected size.
<V2 extends V>
IntObjMap<V2>
newMutableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map)
          Constructs a new mutable map with the same mappings as the specified map.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5, int expectedSize)
          Constructs a new mutable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newMutableMapOf(int k1, V2 v1)
          Constructs a new mutable map of the single specified mapping.
<V2 extends V>
IntObjMap<V2>
newMutableMapOf(int k1, V2 v1, int k2, V2 v2)
          Constructs a new mutable map of the two specified mappings.
<V2 extends V>
IntObjMap<V2>
newMutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3)
          Constructs a new mutable map of the three specified mappings.
<V2 extends V>
IntObjMap<V2>
newMutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4)
          Constructs a new mutable map of the four specified mappings.
<V2 extends V>
IntObjMap<V2>
newMutableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4, int k5, V2 v5)
          Constructs a new mutable map of the five specified mappings.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap()
          Constructs a new empty updatable map of the default expected size.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Consumer<IntObjConsumer<V2>> entriesSupplier)
          Constructs a new updatable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Consumer<IntObjConsumer<V2>> entriesSupplier, int expectedSize)
          Constructs a new updatable map filled with mappings consumed by the callback within the given closure.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(int expectedSize)
          Constructs a new empty updatable map of the given expected size.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(int[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Integer[] keys, V2[] 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Iterable<Integer> keys, Iterable<? extends V2> 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.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map)
          Constructs a new updatable map with the same mappings as the specified map.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMap(Map<Integer,? extends V2> map1, Map<Integer,? extends V2> map2, Map<Integer,? extends V2> map3, Map<Integer,? extends V2> map4, Map<Integer,? extends V2> map5, int expectedSize)
          Constructs a new updatable map which merge the mappings of the specified maps.
<V2 extends V>
IntObjMap<V2>
newUpdatableMapOf(int k1, V2 v1)
          Constructs a new updatable map of the single specified mapping.
<V2 extends V>
IntObjMap<V2>
newUpdatableMapOf(int k1, V2 v1, int k2, V2 v2)
          Constructs a new updatable map of the two specified mappings.
<V2 extends V>
IntObjMap<V2>
newUpdatableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3)
          Constructs a new updatable map of the three specified mappings.
<V2 extends V>
IntObjMap<V2>
newUpdatableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4)
          Constructs a new updatable map of the four specified mappings.
<V2 extends V>
IntObjMap<V2>
newUpdatableMapOf(int k1, V2 v1, int k2, V2 v2, int k3, V2 v3, int k4, V2 v4, int k5, V2 v5)
          Constructs a new updatable map of the five specified mappings.
 F withValueEquivalence(Equivalence<? super V> valueEquivalence)
          Returns a copy of this factory, with exception that it constructs maps with value equivalence set to the given Equivalence.
 
Methods inherited from interface com.koloboke.collect.ContainerFactory
getDefaultExpectedSize, withDefaultExpectedSize
 

Method Detail

getValueEquivalence

@Nonnull
Equivalence<V> getValueEquivalence()
Returns the equivalence to which value equivalence of the maps constructed by this factory is set. Defaults to Equivalence.defaultEquality().

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

withValueEquivalence

@Nonnull
F withValueEquivalence(@Nonnull
                               Equivalence<? super V> valueEquivalence)
Returns a copy of this factory, with exception that it constructs maps with value equivalence set to the given Equivalence.

Parameters:
valueEquivalence - the new value equivalence
Returns:
a copy of this factory, which constructs maps with the given valueEquivalence

newMutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newMutableMap()
Constructs a new empty mutable map of the default expected size.

Type Parameters:
V2 - the value type of the returned map
Returns:
a new empty mutable map

newMutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newMutableMap(int expectedSize)
Constructs a new empty mutable map of the given expected size.

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

newMutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map3,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map3,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map4,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   int[] keys,
                                                   @Nonnull
                                                   V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Integer[] keys,
                                                   @Nonnull
                                                   V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newMutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Iterable<Integer> keys,
                                                   @Nonnull
                                                   Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map)
Constructs a new mutable map with the same mappings as the specified map.

Type Parameters:
V2 - the value type of the returned 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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map3,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Map<Integer,? extends V2> map1,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map2,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map3,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> map4,
                                                   @Nonnull
                                                   Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   int[] keys,
                                                   @Nonnull
                                                   V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Integer[] keys,
                                                   @Nonnull
                                                   V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newMutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newMutableMap(@Nonnull
                                                   Iterable<Integer> keys,
                                                   @Nonnull
                                                   Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newMutableMapOf(int k1,
                                                     V2 v1)
Constructs a new mutable map of the single specified mapping.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMapOf(int k1,
                                                     V2 v1,
                                                     int k2,
                                                     V2 v2)
Constructs a new mutable map of the two specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMapOf(int k1,
                                                     V2 v1,
                                                     int k2,
                                                     V2 v2,
                                                     int k3,
                                                     V2 v3)
Constructs a new mutable map of the three specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMapOf(int k1,
                                                     V2 v1,
                                                     int k2,
                                                     V2 v2,
                                                     int k3,
                                                     V2 v3,
                                                     int k4,
                                                     V2 v4)
Constructs a new mutable map of the four specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newMutableMapOf(int k1,
                                                     V2 v1,
                                                     int k2,
                                                     V2 v2,
                                                     int k3,
                                                     V2 v3,
                                                     int k4,
                                                     V2 v4,
                                                     int k5,
                                                     V2 v5)
Constructs a new mutable map of the five specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap()
Constructs a new empty updatable map of the default expected size.

Type Parameters:
V2 - the value type of the returned map
Returns:
a new empty updatable map

newUpdatableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newUpdatableMap(int expectedSize)
Constructs a new empty updatable map of the given expected size.

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

newUpdatableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map4,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     int[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Integer[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newUpdatableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Iterable<Integer> keys,
                                                     @Nonnull
                                                     Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map)
Constructs a new updatable map with the same mappings as the specified map.

Type Parameters:
V2 - the value type of the returned 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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map4,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     int[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Integer[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newUpdatableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newUpdatableMap(@Nonnull
                                                     Iterable<Integer> keys,
                                                     @Nonnull
                                                     Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newUpdatableMapOf(int k1,
                                                       V2 v1)
Constructs a new updatable map of the single specified mapping.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2)
Constructs a new updatable map of the two specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3)
Constructs a new updatable map of the three specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3,
                                                       int k4,
                                                       V2 v4)
Constructs a new updatable map of the four specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newUpdatableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3,
                                                       int k4,
                                                       V2 v4,
                                                       int k5,
                                                       V2 v5)
Constructs a new updatable map of the five specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map4,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     int[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Integer[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newImmutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Iterable<Integer> keys,
                                                     @Nonnull
                                                     Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map)
Constructs a new immutable map with the same mappings as the specified map.

Type Parameters:
V2 - the value type of the returned 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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Map<Integer,? extends V2> map1,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map2,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map3,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> map4,
                                                     @Nonnull
                                                     Map<Integer,? extends V2> 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.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Consumer<IntObjConsumer<V2>> 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

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     int[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Integer[] keys,
                                                     @Nonnull
                                                     V2[] 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.

Type Parameters:
V2 - the value type of 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 contain null elements

newImmutableMap

@Nonnull
<V2 extends V> IntObjMap<V2> newImmutableMap(@Nonnull
                                                     Iterable<Integer> keys,
                                                     @Nonnull
                                                     Iterable<? extends V2> 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.

Type Parameters:
V2 - the value type of 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
<V2 extends V> IntObjMap<V2> newImmutableMapOf(int k1,
                                                       V2 v1)
Constructs a new immutable map of the single specified mapping.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2)
Constructs a new immutable map of the two specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3)
Constructs a new immutable map of the three specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3,
                                                       int k4,
                                                       V2 v4)
Constructs a new immutable map of the four specified mappings.

Type Parameters:
V2 - the value type of the returned map
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
<V2 extends V> IntObjMap<V2> newImmutableMapOf(int k1,
                                                       V2 v1,
                                                       int k2,
                                                       V2 v2,
                                                       int k3,
                                                       V2 v3,
                                                       int k4,
                                                       V2 v4,
                                                       int k5,
                                                       V2 v5)
Constructs a new immutable map of the five specified mappings.

Type Parameters:
V2 - the value type of the returned map
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