java 如何清空list
清空 List 的方法
在 Java 中,清空 List 有多种方法,具体选择取决于使用场景和性能需求。以下是常见的几种方式:
使用 clear() 方法List 接口提供了 clear() 方法,直接调用即可清空所有元素:

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.clear(); // 清空列表
重新赋值一个新实例
通过创建一个新的空 List 实例并赋值给原变量,实现清空效果:

list = new ArrayList<>(); // 适用于需要全新对象的情况
使用 removeAll() 方法
通过移除所有元素实现清空,需传入当前列表自身作为参数:
list.removeAll(list); // 效率低于 clear()
注意事项
- 性能差异:
clear()方法通常效率最高,直接操作底层数组或数据结构;而removeAll()需要遍历元素,性能较差。 - 不可变列表:若
List是通过Collections.unmodifiableList()创建的不可变列表,调用clear()会抛出UnsupportedOperationException。 - 引用问题:重新赋值新实例仅影响当前变量,其他引用原列表的对象仍保留旧数据。
线程安全场景
若需在多线程环境下清空列表,建议使用并发容器(如 CopyOnWriteArrayList)或显式加锁:
synchronized(list) {
list.clear();
}






