/** * Constructs a new empty mutable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newMutableMap() newMutableMap()}. * * @param <K> the key type of the returned map * @return a new empty mutable map */ @Nonnull public static <K> HashObjIntMap<K> newMutableMap() { return getDefaultFactory().<K>newMutableMap(); }
boolean keySpecialEquals(HashObjIntMapFactory<?> other) { return getKeyEquivalence().equals(other.getKeyEquivalence()) && isNullKeyAllowed() == other.isNullKeyAllowed(); }
/** * Constructs a new immutable map with the same mappings as the specified {@code map}. * * * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newImmutableMap( * Map) newImmutableMap(map)}. * * @param map the map whose mappings are to be placed in the returned map * * @param <K> the key type of the returned map * @return a new immutable map with the same mappings as the specified {@code map} */ @Nonnull public static <K> HashObjIntMap<K> newImmutableMap( @Nonnull Map<? extends K, Integer> map) { return getDefaultFactory().<K>newImmutableMap(map); }
private static <T> HashObjIntMap<T> makeMap(final int size, final float fillFactor ) { return HashObjIntMaps.getDefaultFactory().withHashConfig(HashConfig.fromLoads( fillFactor/2, fillFactor, fillFactor )). newMutableMap(size); }
/** * Constructs a new empty updatable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newUpdatableMap() newUpdatableMap()}. * * @param <K> the key type of the returned map * @return a new empty updatable map */ @Nonnull public static <K> HashObjIntMap<K> newUpdatableMap() { return getDefaultFactory().<K>newUpdatableMap(); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newMutableMapOf(Object, int * ) newMutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new mutable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newMutableMapOf( K k1, int v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newImmutableMapOf(Object, int * ) newImmutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new immutable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newImmutableMapOf( K k1, int v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newUpdatableMapOf(Object, int * ) newUpdatableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new updatable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newUpdatableMapOf( K k1, int v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjIntMapFactory) { HashObjIntMapFactory factory = (HashObjIntMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Integer) getDefaultValue()).equals(factory.getDefaultValue()) ; } else { return false; } }
/** * Constructs a new empty updatable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newUpdatableMap(int) newUpdatableMap(expectedSize)}. * * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new empty updatable map of the given expected size */ @Nonnull public static <K> HashObjIntMap<K> newUpdatableMap(int expectedSize) { return getDefaultFactory().<K>newUpdatableMap(expectedSize); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newMutableMapOf(Object, int * ) newMutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new mutable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newMutableMapOf( K k1, int v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newImmutableMapOf(Object, int * ) newImmutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new immutable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newImmutableMapOf( K k1, int v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newUpdatableMapOf(Object, int * ) newUpdatableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new updatable map of the single specified mapping */ @Nonnull public static <K> HashObjIntMap<K> newUpdatableMapOf( K k1, int v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjIntMapFactory) { HashObjIntMapFactory factory = (HashObjIntMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Integer) getDefaultValue()).equals(factory.getDefaultValue()) ; } else { return false; } }
/** * Constructs a new empty mutable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newMutableMap(int) newMutableMap(expectedSize)}. * * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new empty mutable map of the given expected size */ @Nonnull public static <K> HashObjIntMap<K> newMutableMap(int expectedSize) { return getDefaultFactory().<K>newMutableMap(expectedSize); }
/** * Constructs a new immutable map which merge the mappings of the specified maps. On conflict, * mappings from the {@code map2} have priority over mappings from the {@code map1} with * the same keys. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newImmutableMap(Map, * Map, int) newImmutableMap(map1, map2, expectedSize)}. * * @param map1 the first map to merge * @param map2 the second map to merge * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new immutable map which merge the mappings of the specified maps */ @Nonnull public static <K> HashObjIntMap<K> newImmutableMap( @Nonnull Map<? extends K, Integer> map1, @Nonnull Map<? extends K, Integer> map2, int expectedSize) { return getDefaultFactory().<K>newImmutableMap(map1, map2, expectedSize); }
/** * Constructs a new empty updatable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newUpdatableMap(int) newUpdatableMap(expectedSize)}. * * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new empty updatable map of the given expected size */ @Nonnull public static <K> HashObjIntMap<K> newUpdatableMap(int expectedSize) { return getDefaultFactory().<K>newUpdatableMap(expectedSize); }
boolean keySpecialEquals(HashObjIntMapFactory<?> other) { return getKeyEquivalence().equals(other.getKeyEquivalence()) && isNullKeyAllowed() == other.isNullKeyAllowed(); }
/** * Constructs a new mutable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newMutableMapOf(Object, int, * Object, int) newMutableMapOf(k1, v1, k2, v2)}. * * @param k1 the key of the first mapping * @param v1 the value of the first mapping * @param k2 the key of the second mapping * @param v2 the value of the second mapping * @param <K> the key type of the returned map * @return a new mutable map of the two specified mappings */ @Nonnull public static <K> HashObjIntMap<K> newMutableMapOf( K k1, int v1, K k2, int v2) { return getDefaultFactory().<K>newMutableMapOf(k1, v1, k2, v2); }
/** * Constructs a new immutable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjIntMapFactory#newImmutableMapOf(Object, int, * Object, int) newImmutableMapOf(k1, v1, k2, v2)}. * * @param k1 the key of the first mapping * @param v1 the value of the first mapping * @param k2 the key of the second mapping * @param v2 the value of the second mapping * @param <K> the key type of the returned map * @return a new immutable map of the two specified mappings */ @Nonnull public static <K> HashObjIntMap<K> newImmutableMapOf( K k1, int v1, K k2, int v2) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1, k2, v2); }