8207314: Unnecessary reallocation when constructing WeakHashMap from a large Map

Reviewed-by: martin
This commit is contained in:
Ivan Gerasimov 2018-07-23 22:07:55 -07:00
parent 2f4efb7871
commit ad816a0809

@ -252,7 +252,7 @@ public class WeakHashMap<K,V>
* @since 1.3
*/
public WeakHashMap(Map<? extends K, ? extends V> m) {
this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1,
this(Math.max((int) ((float)m.size() / DEFAULT_LOAD_FACTOR + 1.0F),
DEFAULT_INITIAL_CAPACITY),
DEFAULT_LOAD_FACTOR);
putAll(m);