![Java知识系统回顾整理01基础06数组05复制数组 Java知识系统回顾整理01基础06数组05复制数组](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少
一、复制数组
把一个数组的值,复制到另一个数组中
System.arraycopy(src, srcPos, dest, destPos, length) |
src: 源数组
srcPos: 从源数组复制数据的起始位置
dest: 目标数组
destPos: 复制到目标数组的起始位置
length: 复制的长度
public class HelloWorld { public static int a [] = new int b[] = new //通过数组赋值把,a数组的前3位赋值到b数组 //方法一: for循环 for (int i = 0; i < b.length; i++) { b[i] = a[i]; } //方法二: System.arraycopy(src, srcPos, dest, destPos, length) //src: 源数组 //srcPos: 从源数组复制数据的起始位置 //dest: 目标数组 //destPos: 复制到目标数组的启始位置 //length: 复制的长度 System.arraycopy(a, 0, b, 0, 3); //把内容打印出来 for (int i = 0; i < b.length; i++) { System.out.print(b[i] + " "); } } } |
二、练习--合并数组
题目:
首先准备两个数组,他俩的长度是5-10之间的随机数,并使用随机数初始化这两个数组(向数组填充随机数的办法,参考这里)
实现效果:
官方示例代码:
public class HelloWorld { public static int a[] = new for (int i = 0; i < a.length; i++) a[i] = (int) (Math.random() * 100); int b[] = new for (int i = 0; i < b.length; i++) b[i] = (int) (Math.random() * 100); System.out.println("数组a的内容:"); for (int i : a) { System.out.print(i+" "); } System.out.println(); System.out.println("数组b的内容:"); for (int i : b) { System.out.print(i+" "); } System.out.println(); int c[] = new System.arraycopy(a, 0, c, 0, a.length); System.arraycopy(b, 0, c, a.length, b.length); System.out.println("数组c的内容:"); for (int i : c) { System.out.print(i+" "); } } } |