boolean keySpecialEquals(HashObjLongMapFactory<?> 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 HashObjLongMapFactory#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> HashObjLongMap<K> newImmutableMap( @Nonnull Map<? extends K, Long> map) { return getDefaultFactory().<K>newImmutableMap(map); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newImmutableMapOf(Object, long * ) 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> HashObjLongMap<K> newImmutableMapOf( K k1, long v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }
/** * Constructs a new empty mutable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newMutableMap() newMutableMap()}. * * @param <K> the key type of the returned map * @return a new empty mutable map */ @Nonnull public static <K> HashObjLongMap<K> newMutableMap() { return getDefaultFactory().<K>newMutableMap(); }
/** * Constructs a new empty updatable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newUpdatableMap() newUpdatableMap()}. * * @param <K> the key type of the returned map * @return a new empty updatable map */ @Nonnull public static <K> HashObjLongMap<K> newUpdatableMap() { return getDefaultFactory().<K>newUpdatableMap(); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newUpdatableMapOf(Object, long * ) 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> HashObjLongMap<K> newUpdatableMapOf( K k1, long v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newMutableMapOf(Object, long * ) 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> HashObjLongMap<K> newMutableMapOf( K k1, long v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjLongMapFactory) { HashObjLongMapFactory factory = (HashObjLongMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Long) getDefaultValue()).equals(factory.getDefaultValue()) ; } else { return false; } }
/** * Constructs a new empty mutable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newMutableMap() newMutableMap()}. * * @param <K> the key type of the returned map * @return a new empty mutable map */ @Nonnull public static <K> HashObjLongMap<K> newMutableMap() { return getDefaultFactory().<K>newMutableMap(); }
/** * Constructs a new empty updatable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newUpdatableMap() newUpdatableMap()}. * * @param <K> the key type of the returned map * @return a new empty updatable map */ @Nonnull public static <K> HashObjLongMap<K> newUpdatableMap() { return getDefaultFactory().<K>newUpdatableMap(); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newUpdatableMapOf(Object, long * ) 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> HashObjLongMap<K> newUpdatableMapOf( K k1, long v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newMutableMapOf(Object, long * ) 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> HashObjLongMap<K> newMutableMapOf( K k1, long v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjLongMapFactory) { HashObjLongMapFactory factory = (HashObjLongMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Long) 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 HashObjLongMapFactory#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> HashObjLongMap<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 HashObjLongMapFactory#newImmutableMap(Map, * Map) newImmutableMap(map1, map2)}. * * @param map1 the first map to merge * @param map2 the second map to merge * * @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> HashObjLongMap<K> newImmutableMap( @Nonnull Map<? extends K, Long> map1, @Nonnull Map<? extends K, Long> map2) { return getDefaultFactory().<K>newImmutableMap(map1, map2); }
/** * Constructs a new empty updatable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#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> HashObjLongMap<K> newUpdatableMap(int expectedSize) { return getDefaultFactory().<K>newUpdatableMap(expectedSize); }
boolean keySpecialEquals(HashObjLongMapFactory<?> other) { return getKeyEquivalence().equals(other.getKeyEquivalence()) && isNullKeyAllowed() == other.isNullKeyAllowed(); }
/** * Constructs a new updatable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newUpdatableMapOf(Object, long, * Object, long) newUpdatableMapOf(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 updatable map of the two specified mappings */ @Nonnull public static <K> HashObjLongMap<K> newUpdatableMapOf( K k1, long v1, K k2, long v2) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1, k2, v2); }
/** * Constructs a new mutable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newMutableMapOf(Object, long, * Object, long) 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> HashObjLongMap<K> newMutableMapOf( K k1, long v1, K k2, long v2) { return getDefaultFactory().<K>newMutableMapOf(k1, v1, k2, v2); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjLongMapFactory#newImmutableMapOf(Object, long * ) 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> HashObjLongMap<K> newImmutableMapOf( K k1, long v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }