From 7309fe9f2e18e32f531c8c7bd4549cb863fb2399 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 26 Sep 2022 09:00:10 +0200 Subject: [PATCH] Polish "Avoid resizing of Maps created by CollectionUtils" See gh-29190 --- .../java/org/springframework/util/CollectionUtils.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java index 3658223bf77..79e9800a9e0 100644 --- a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java +++ b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java @@ -85,8 +85,7 @@ public abstract class CollectionUtils { * @see #newLinkedHashMap(int) */ public static HashMap newHashMap(int expectedSize) { - int capacity = (int) Math.ceil(expectedSize / (double) DEFAULT_LOAD_FACTOR); - return new HashMap<>(capacity, DEFAULT_LOAD_FACTOR); + return new HashMap<>(computeMapInitialCapacity(expectedSize), DEFAULT_LOAD_FACTOR); } /** @@ -103,8 +102,11 @@ public abstract class CollectionUtils { * @see #newHashMap(int) */ public static LinkedHashMap newLinkedHashMap(int expectedSize) { - int capacity = (int) Math.ceil(expectedSize / (double) DEFAULT_LOAD_FACTOR); - return new LinkedHashMap<>(capacity, DEFAULT_LOAD_FACTOR); + return new LinkedHashMap<>(computeMapInitialCapacity(expectedSize), DEFAULT_LOAD_FACTOR); + } + + private static int computeMapInitialCapacity(int expectedSize) { + return (int) Math.ceil(expectedSize / (double) DEFAULT_LOAD_FACTOR); } /**