正确示例:指定初始容量
java
// ArrayList - 指定初始大小
List<String> list = new ArrayList<>(1000); // 预计存储1000个元素
// HashMap - 指定初始容量和负载因子
Map<String, User> map = new HashMap<>(500, 0.75f); // 初始500,负载因子0.75
// StringBuilder - 指定初始缓冲区大小
StringBuilder sb = new StringBuilder(1024); // 预分配1KB空间
错误示例:未指定大小
java
List<String> list = new ArrayList<>(); // 默认容量10,频繁扩容
Map<String, User> map = new HashMap<>(); // 默认16,可能快速扩容
StringBuilder sb = new StringBuilder(); // 默认16,频繁扩容复制
后果: 未指定大小时,数据结构会频繁自动扩容(2倍增长),产生大量内存复制和碎片,严重时耗尽内存。