ArrayList中的add(int index, E element)方法中使用System.arraycopy()方法的解析,

  • Post author:
  • Post category:其他


原方法:

public void add(int index, E element) {
        rangeCheckForAdd(index);

        ensureCapacityInternal(size + 1);  // Increments modCount!!
        System.arraycopy(elementData, index, elementData, index + 1,
                         size - index);
        elementData[index] = element;
        size++;
    }

System.arraycopy方法解析:

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)

从指定的源数组(从指定位置开始)将数组复制到目标数组的指定位置。数组组件的子序列从SRC引用的源数组复制到DEST引用的目标数组。复制的组件数等于长度参数

参数:

src-源数组。

srcpos-源数组中的起始位置。

dest-目标数组。

destpos-目标数据中的起始位置。

长度-要复制的数组元素数。



版权声明:本文为weferxe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。