On 16.05.2015 2:18, Martin Buchholz wrote:
I don't think you're taking the load factor into account.
Hm. You're right, HashMap's constructor expects the capacity as the argument. I was confused by IdentityHashMap, whose constructor expects the maximum number of elements to be inserted.

https://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/collect/Maps.java?r=f8144b4df7eec5f1c9e6942d8d5ef734a8767fd9#110
You want to check (via reflection) that the size of the backing array is unchanged if you copy the map with new HashMap(map).

Sorry, I didn't get it. How could we detect that the initial capacity wasn't big enough, if we hadn't stored it?

I wouldn't bother defining the constant.

I only need it in the regression test, to check whether it was sufficient.

Here's the updated webrev:
http://cr.openjdk.java.net/~igerasim/8080535/01/webrev/

Comments, suggestions are welcome!

Sincerely yours,
Ivan

On Fri, May 15, 2015 at 4:01 PM, Ivan Gerasimov <ivan.gerasi...@oracle.com <mailto:ivan.gerasi...@oracle.com>> wrote:

    Hello!

    When constructing the map, the expected size is specified to be
    256, but then 510 elements are inserted.
    A new whitebox test is provided, so the next time the number of
    entries grows, the expected size will not be forgotten.

    Would you please help review this fix?

    BUGURL: https://bugs.openjdk.java.net/browse/JDK-8080535
    WEBREV: http://cr.openjdk.java.net/~igerasim/8080535/00/webrev/
    <http://cr.openjdk.java.net/%7Eigerasim/8080535/00/webrev/>

    Sincerely yours,
    Ivan



Reply via email to