From a65cd34ba895a5d51dcbbdb145aa119d4d06c306 Mon Sep 17 00:00:00 2001 From: Run Yan Date: Thu, 12 Sep 2019 17:08:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E7=9A=84map?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/map/MapUtil.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index cf3e382c1..53e6cbdea 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -14,6 +14,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; +import java.util.concurrent.ConcurrentHashMap; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; @@ -939,4 +940,43 @@ public class MapUtil { return map; } + + /** + * 新建一个初始容量为{@link MapUtil#DEFAULT_INITIAL_CAPACITY} 的ConcurrentHashMap + * + * @param key的类型 + * @param value的类型 + * @return ConcurrentHashMap + */ + public static ConcurrentHashMap newConcurrentHashMap() { + return new ConcurrentHashMap<>(DEFAULT_INITIAL_CAPACITY); + } + + /** + * 新建一个ConcurrentHashMap + * + * @param size 初始容量,当传入的容量小于等于0时,容量为{@link MapUtil#DEFAULT_INITIAL_CAPACITY} + * @param key的类型 + * @param value的类型 + * @return ConcurrentHashMap + */ + public static ConcurrentHashMap newConcurrentHashMapWithSize(int size) { + size = size <= 0 ? DEFAULT_INITIAL_CAPACITY : size; + return new ConcurrentHashMap<>(size); + } + + /** + * 传入一个Map将其转化为ConcurrentHashMap类型 + * + * @param map map + * @param key的类型 + * @param value的类型 + * @return ConcurrentHashMap + */ + public static ConcurrentHashMap newConcurrentHashMap(Map map) { + if(isEmpty(map)) { + return new ConcurrentHashMap<>(DEFAULT_INITIAL_CAPACITY); + } + return new ConcurrentHashMap<>(map); + } } From 018b67a0661f7a7410601cf8ca9c86c6be16ccbf Mon Sep 17 00:00:00 2001 From: Run Yan Date: Thu, 12 Sep 2019 17:23:32 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9Codacy=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index 53e6cbdea..1a6a1a5d5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -961,8 +961,8 @@ public class MapUtil { * @return ConcurrentHashMap */ public static ConcurrentHashMap newConcurrentHashMapWithSize(int size) { - size = size <= 0 ? DEFAULT_INITIAL_CAPACITY : size; - return new ConcurrentHashMap<>(size); + int initCapacity = size <= 0 ? DEFAULT_INITIAL_CAPACITY : size; + return new ConcurrentHashMap<>(initCapacity); } /** From 86206f8e29dd4014a4283e7175721d1a4b63c7b0 Mon Sep 17 00:00:00 2001 From: Run Yan Date: Sat, 14 Sep 2019 10:20:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index 1a6a1a5d5..4312f62eb 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -960,7 +960,7 @@ public class MapUtil { * @param value的类型 * @return ConcurrentHashMap */ - public static ConcurrentHashMap newConcurrentHashMapWithSize(int size) { + public static ConcurrentHashMap newConcurrentHashMap(int size) { int initCapacity = size <= 0 ? DEFAULT_INITIAL_CAPACITY : size; return new ConcurrentHashMap<>(initCapacity); }