复制数组:
在之前的C语言学习中对于复制数组会常用到for循环一个个赋值
或者对于字符数组会他调用string.h头文件里的函数进行复制。
在Java 中也有for循环进行复制,但相对之下不简便。
以下:
首先:数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少
相对简便的方法:
把一个数组的值,复制到另一个数组中
System.arraycopy(src, srcPos, dest, destPos, length)
解释:
src: 源数组
srcPos: 从源数组复制数据的起始位置
dest: 目标数组
destPos: 复制到目标数组的起始位置
length: 复制的长度
示例:
for (int i = 0; i < b.length; i++) {
b[i] = a[i];
}
//参照以上for循环的,利用: System.arraycopy(src, srcPos, dest, destPos, length)实现
System.arraycopy(a, 0, b, 0, 3);
只需要一句语句!array数组 copy 复制 直接了当。 System.arraycopy
二维数组:
这是一个一维数组, 里面的每一个元素,都是一个基本类型int
int a[] =new int[]{1,2,3,4,5};
这是一个二维数组,里面的每一个元素,都是一个一维数组
所以二维数组又叫数组的数组
int b[][] = new int[][]{
{1,2,3},
{4,5,6},
{7,8,9}
};
概念和学c的时候一致。
初始化的不同方法:
//初始化二维数组,
int[][] a = new int[2][3]; //有两个一维数组,每个一维数组的长度是3
a[1][2] = 5; //可以直接访问一维数组,因为已经分配了空间
//只分配了二维数组
int[][] b = new int[2][]; //有两个一维数组,每个一维数组的长度暂未分配
b[0] =new int[3]; //必须事先分配长度,才可以访问
b[0][2] = 5;
//指定内容的同时,分配空间
int[][] c = new int[][]{
{1,2,4},
{4,5},
{6,7,8,9}
};