1.参考阿里巴巴开发规范
2.写了个工具类 供大家参考
import java.util.HashMap;/*** 阿里巴巴开发规范* 【推荐】 集合初始化时, 指定集合初始值大小。* 说明: HashMap 使用 HashMap(int initialCapacity) 初始化,如果暂时无法确定集合大小, 那么指定默* 认值( 16) 即可。* 正例: initialCapacity = (需要存储的元素个数 / 负载因子) + 1。 注意负载因子(即 loader factor) 默认* 为 0.75,如果暂时无法确定初始值大小,请设置为 16(即默认值) 。* 反例: HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容量 7 次被迫* 扩大, resize 需要重建 hash 表。当放置的集合元素个数达千万级别时,不断扩容会严重影响性能。** @author xyqq* @version 1.0* @date 2023/9/12*/public class CollectionUtil {private static final float INITIAL_LOAD_FACTOR = 0.75f;/*** 生成一个具有指定大小的 HashMap。** @param size 期望存储的数据大小* @param <K> 键的类型* @param <V> 值的类型* @return 初始化后的 HashMap*/public static <K, V> HashMap<K, V> newHashMap(int size) {if (size <= 0) {throw new IllegalArgumentException("Size must be greater than zero.");}// 计算初始化容量,向上取整int initialCapacity = (int) Math.ceil(size / INITIAL_LOAD_FACTOR + 1);return new HashMap<>(initialCapacity);}}