diff --git a/javaSE-day01/src/com/inmind/system05/Demo22.java b/javaSE-day01/src/com/inmind/system05/Demo22.java new file mode 100644 index 0000000..4887582 --- /dev/null +++ b/javaSE-day01/src/com/inmind/system05/Demo22.java @@ -0,0 +1,36 @@ +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 Demo22 { + public static void main(String[] args) { + int[] source = new int[]{1,2,3,4,5};//静态初始化 + int[] dest = {6,7,8,9,10};//静态初始化的简写形式 + System.arraycopy(source,1,dest,2,3); + System.out.println(Arrays.toString(source)); + System.out.println(Arrays.toString(dest)); + } +}