On Mon, 9 Jan 2023 08:33:09 GMT, Viktor Klang <[email protected]> wrote:
>> Currently Set.copyOf allocates both a HashSet and a new empty array when the
>> input collection is empty.
>>
>> This patch avoids allocating anything for the case where the parameter
>> collection's isEmpty returns true.
>
> Viktor Klang has updated the pull request incrementally with two additional
> commits since the last revision:
>
> - 8299444: java.util.Set.copyOf allocates needlessly for empty input
> collections
>
> Modifies ImmutableCollections.listCopy:
> Introduces a check for isEmpty to avoid allocation in the case of an
> empty input collection.
> - 8299444: java.util.Set.copyOf allocates needlessly for empty input
> collections
>
> Modifies Map.copyOf:
> Introduces a check for isEmpty to avoid allocation in the case of an empty
> input Map.
src/java.base/share/classes/java/util/ImmutableCollections.java line 174:
> 172: return List.of();
> 173: } else {
> 174: return (List<E>)List.of(coll.toArray()); // implicit
> nullcheck of coll
The comment is no longer relevant here, as it now happens on line 171.
-------------
PR: https://git.openjdk.org/jdk/pull/11847