From 892f3b3579bf4949a25cf8602a33eac013e9e7fa Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 13 Oct 2026 11:31:10 +0800 Subject: [PATCH] =?UTF-8?q?s-day01--System=E4=B8=AD=E7=9A=84arrayCopy?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day01/src/com/inmind/system05/Demo16.java | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 s-day01/src/com/inmind/system05/Demo16.java 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)); + } +}