diff --git a/s-day01/src/com/inmind/system05/Demo16.java b/s-day01/src/com/inmind/system05/Demo16.java new file mode 100644 index 0000000..f9f241f --- /dev/null +++ b/s-day01/src/com/inmind/system05/Demo16.java @@ -0,0 +1,37 @@ +package com.inmind.system05; + +import java.util.Arrays; + +/* + 15.System中的arrayCopy方法 + + 之前我们学习的ArrayList底层是数组,那它删除数据的时候是创建出新的数组吗??并不是而是使用这个arrayCopy方法 + + static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 将指定源数组中的数组从指定位置复制到目标数组的指定位置。 + 参数一src: 表示源数组 + 参数二srcPos:表示源数组的索引位置 + 参数三dest:表示目标数组 + 参数四destPos:表示目标数组的索引位置 + 参数五length:表示长度 + + 将src数组中前3个元素,复制到dest数组的前3个位置上 + 复制元素前: + src数组元素[1,2,3,4,5], + dest数组元素[6,7,8,9,10] + 复制元素后: + src数组元素[1,2,3,4,5], + dest数组元素[1,2,3,9,10] + + +总结:实现数组的高效复制,扩展:它是ArrayList集合实现数据删除remove的底层实现 + */ +public class Demo16 { + public static void main(String[] args) { + int[] src = {1,2,3,4,5}; + int[] dest = {6,7,8,9,10}; + System.out.println("复制之前:"+Arrays.toString(dest)); + //请使用数组复制操作,将src中的234,复制到dest的第3,4,5个空间中,dest得到的结果为{6,7,2,3,4} + System.arraycopy(src,1,dest,2,1); + System.out.println("复制之后:"+Arrays.toString(dest)); + } +}