Java中ArrayList.clear() 和 ArrayList.removeAll()有什么不同呢?
下文笔者讲述Arraylist中clear和removeAll方法之间的区别说明,如下所示
两者的功能都是元素删除 clear和removeAll方法的区别在于: removeAll方法删除元素时,需进行额外的判断 从源码上,我们可以看出clear方法的效率更高例:clear和removeAll方法源码简介
clear()源码
public void clear() { modCount++; // Let gc do its work for (int i = 0; i < size; i++) elementData[i] = null; size = 0; }
removeAll()源码
public boolean removeAll(Collection<?> c) { boolean modified = false; Iterator<?> e = iterator(); while (e.hasNext()) { if (c.contains(e.next())) { e.remove(); modified = true; } } return modified; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。