每天一个java小程序之数组复制与合并

2018-02-05 10:47:11来源:网络收集作者:程序诗人人点击

分享

每天一个java小程序之数组复制与合并:
1. 复制数组:System.arraycopy()

使用System.arraycopy()函数来对一个数组A进行内容复制到数组B;
这样就不要遍历来复制,更快捷


public static void main(String[] args) {
int a [] = new int[]{18,62,68,82,65,9};
int b[] = new int[5];//分配了长度是5的空间,但是没有赋值
//通过数组赋值把,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, 5);
//把复制的内容打印出来
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}

结果自行查看。


2. 合并数组:System.arraycopy()+System.arraycopy()

在本例中,我们使用的数组,是随机产生的,不是自己设置的;


class Untitled {
public static void main(String[] args) {
//合并数组操作
//产生随机长度的数组-至少是5个
int zou [] = new int [(int)(Math.random()*5)+5];
//数组初始化
for (int i = 0; i zou[i] = ((int)(Math.random()*100));
}
//
int tao [] = new int [(int)(Math.random()*5)+5];
for (int i = 0; i tao[i] = ((int)(Math.random()*100));
}
int zoutao[] = new int [zou.length+tao.length];
System.out.println("数组zou的内容:");
for (int i = 0; i System.out.print(zou[i]+" ");
}
System.out.println();
System.out.println("数组tao的内容:");
for (int i = 0; i System.out.print(tao[i]+" ");
}
System.out.println();
System.out.println("数组zoutao的内容:");
//合并数组操作
System.arraycopy(zou,0,zoutao,0,zou.length);
System.arraycopy(tao,0,zoutao,zou.length,tao.length);
for (int i = 0; i System.out.print(zoutao[i]+" ");
}
}
}

运行结果:
每天一个java小程序之数组复制与合并


微信扫一扫

第七城市微信公众平台