清空 arraylist 用 clear() 方法,不释放底层数组内存,时间复杂度 o(n);判断是否为空推荐 isempty(),语义清晰、性能 o(1),安全写法需先判 null 再调用 isempty()。

ArrayList 清空用 clear(),判断是否为空用 isEmpty() 或 size() == 0 —— 前者更直观、推荐。
怎么清空 ArrayList
调用 clear() 方法即可移除所有元素,内部将底层数组中所有有效位置设为 null(对引用类型),并重置元素计数器 size = 0:
- 不释放底层数组内存(容量
capacity不变),后续添加元素无需立即扩容 - 时间复杂度为 O(n),因为要遍历并置空每个引用(避免内存泄漏)
- 不是新建对象,原 ArrayList 实例仍可继续使用
示例:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
怎么判断 ArrayList 是否为空
推荐用 isEmpty(),它本质就是返回 size == 0,语义清晰、可读性高:
- 比
size() == 0略优:更明确表达意图,部分 IDE 会提示优化 - 两者性能无差别,都是 O(1) 操作
- 注意:不能用
list == null替代 —— 空集合不等于 null
安全写法(防 null):
if (list != null && !list.isEmpty()) { // 非空且非 null,可安全遍历或取元素 }常见误区提醒
-
list = new ArrayList()是重新赋值,原对象若还有其他引用,不会被清空 -
list = null只是断开引用,不清理原对象,也不等价于清空 - 多线程环境下,
clear()和isEmpty()都不是原子操作,需额外同步
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










