Java中创建ArrayList推荐用List<String> list = new ArrayList<>();,可选传入集合初始化、指定初始容量优化性能,或用List.of()转为ArrayList。

Java 中创建和初始化 ArrayList 很简单,核心是明确类型、调用构造方法,并可选地填充初始元素。
直接创建空的 ArrayList
最常用的方式是使用泛型指定元素类型,配合无参构造器:
- List<String> list = new ArrayList<>(); —— 推荐写法(Java 7+ 支持菱形运算符)
- ArrayList<Integer> numbers = new ArrayList<Integer>(); —— 兼容旧版本写法,略显冗余
注意:建议声明为 List 接口类型(如 List<String>),而非具体实现类,利于后期替换实现。
创建并用已有集合初始化
如果已有另一个集合(比如数组、其他 List),可直接传入构造器完成初始化:
立即学习“Java免费学习笔记(深入)”;
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
- List<Integer> src = Arrays.asList(1, 2, 3);
List<Integer> copy = new ArrayList<>(src);
⚠️ 注意:Arrays.asList(...) 返回的是固定大小的列表,不能 add/remove;必须用 ArrayList 构造器包装后才可动态增删。
创建时指定初始容量(优化性能)
若预估集合会存大量元素(比如上千个),可提前设置容量,避免频繁扩容:
- ArrayList<String> list = new ArrayList<>(1000); —— 底层数组初始长度为 1000
- 默认容量是 10,每次扩容约 1.5 倍,频繁扩容会影响性能
但日常小数据量无需刻意设置,过度预估反而浪费内存。
使用静态工厂或工具类(Java 9+ 或第三方库)
Java 9 引入了不可变集合工厂方法,适合只读场景;如需可变且简洁的初始化,也可借助:
- List<String> list = List.of("x", "y", "z"); —— 返回不可修改的 List(不是 ArrayList)
- 若坚持要 ArrayList,仍需转: new ArrayList<>(List.of("x", "y", "z"))
- Guava 或 Apache Commons Collections 提供更丰富的工具方法,例如
Lists.newArrayList(...)
不过标准库已足够,除非项目已引入对应依赖,否则不建议为简单初始化额外加包。

















