集合List添加集合,复制内容的方法

第一种:AddAll():

ArrayList 的AddAll()方法如下:

public boolean addAll(Collection c) {

    Object[] a = c.toArray();

    int numNew = a.length;

    ensureCapacityInternal(size + numNew);  // Increments modCount

    System.arraycopy(a, 0, elementData, size, numNew);//核心代码

    size += numNew;

    return numNew != 0;

}

第二种:ArrayList(List A)

public ArrayList(Collection c) {

    elementData = c.toArray();

    if ((size = elementData.length) != 0) {

        // c.toArray might (incorrectly) not return Object[] (see 6260652)

        if (elementData.getClass() != Object[].class)

            elementData = Arrays.copyOf(elementData, size, Object[].class);//核心代码

    } else {

        // replace with empty array.

        this.elementData = EMPTY_ELEMENTDATA;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容