您的位置:首页 > 编程语言 > Java开发

[Java技巧] 如何复制数组的一部分到另外一个数组?

2014-07-18 12:00 225 查看
[Java技巧] 如何复制数组的一部分到另外一个数组?

1.在矩阵运算、或者数组编程中,经常会遇到一些这样的问题:

如何把一个数组中指定范围的内容,不用循环复制到另外一个数组中的指定位置?

JAVA提供了一个API:System.arraycopy,会方便实现这一功能:

[例子]

数组A:[1,2,3,4,5] 长度为5的一个数组

数组B:[0,0,0,0,0,0,0,0,0,0] 长度为10的一个数组

现在调用System.arraycopy(),将数组A的部分内容拷贝到数组B从B[4]开始的地方

int[] A = {1,2,3,4,5};
int[] B = new int[10];
System.arraycopy(A, 0, B, 4, 5);
for( int i=0; i<B.length; i++ )
{
System.out.print( B[i] + ", ");
}


调用程序,会发现打印出复制后,B的内容为:

0, 0, 0, 0, 1, 2, 3, 4, 5, 0,

[说明]

System.arraycopy(src, srcPos, dest, destPos, length)
//src:要拷贝的源数组</span>
//srcPos:要源数组的起始位置,从0算起
//dest:要拷贝到的目的数组
//destPos:目的数组的起始位置
//length:需要拷贝的长度</p>


[注意事项]

要注意复制的长度,不要越界,超过原数组或目的数组的长度,都会报 out of index异常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: