Java中的AbstractCollection clear()方法及其示例
在Java中,AbstractCollection类是Java集合框架中提供的一个抽象类,在这个类中定义了很多与集合相关的方法。其中的一个方法就是clear(),这个方法可以用来清空一个集合中的所有元素,使得该集合变为空集合。
下面就来了解一下AbstractCollection的clear()方法,以及它的示例代码。
AbstractCollection的clear()方法
AbstractCollection中的clear()方法的定义如下:
public void clear() {
Iterator<E> it = iterator();
while (it.hasNext()) {
it.next();
it.remove();
}
}
从上面的代码可以看出,clear()方法其实就是遍历当前集合中的所有元素,然后一个一个地调用Iterator对象的remove()方法将它们删除。
需要注意的是,虽然在Iterator对象的remove()方法中会调用集合的remove()方法,但它们实际上是不同的方法。Iterator.remove()方法实际上是在迭代器内部直接删除当前元素,不需要再次遍历集合,从而使得删除操作更加高效。
AbstractCollection clear()方法的示例
下面就是一个使用AbstractCollection的clear()方法的示例代码:
import java.util.ArrayList;
import java.util.Collection;
public class Example {
public static void main(String[] args) {
Collection<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("Before clear: " + numbers);
numbers.clear();
System.out.println("After clear: " + numbers);
}
}
运行上面的代码,它会输出以下结果:
Before clear: [1, 2, 3, 4]
After clear: []
从结果可以看出,clear()方法把numbers集合中的所有元素都清空了,导致集合变成了一个空集合。
结论
AbstractCollection的clear()方法是Java集合框架中提供的一个非常有用的方法。它可以用来清空一个集合中的所有元素,使得该集合变为空集合。所以,在处理集合时,如果需要清空一个集合中的所有元素,就可以使用这个方法。