Java中ArrayList.clear() 和 ArrayList.removeAll()有什么不同呢?

陈欣 Java经验 发布时间:2023-08-10 10:27:04 阅读数:5457 1
下文笔者讲述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;
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202308/16916344527180.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者