5种Java中数组的拷贝方法总结分享

2022-11-13 13:11:44 数组 方法 拷贝

1、for循环

for循环拷贝是最简单直观的方法,循环访问当前数组的每一个元素,并复制到新数组的相应下标。

示例代码:

运行结果:

 

2、调用clone()方法

该方法是类Object类中的方法;使用clone方法进行拷贝时,是将arr中的所有元素都拷贝下来,不可以挑选。 clone() 方法的返回值是 Object 类型,要使用强制类型转换为适当的类型。

示例代码:

 运行结果:

3、Arrays类中的Arrays.copyOf()方法

该方法是整体拷贝。

 int [] original:将要拷贝的原数组
int newLength:新数组的长度;可以扩容到原数组长度的2倍

使用这种方法复制数组时,默认从原数组的第一个元素(下标为 0)开始复制,新数组的长度将为 newlength。如果新数组长度 length 大于原数组长度,则新数组中采用默认值0进行填充;如果 newlength 小于原数组长度,则复制到第 length 个元素(下标为 length-1)截止。

这个方法底层调用了System.arraycopy方法:

 示例代码:

 运行结果:

4、copyOfRange()方法

该方法是Arrays 类中的 CopyOfRange() 方法,该方法用于拷贝某个范围

  • int[] original:将要拷贝的原数组
  • int from:拷贝数组的起始下标 ,下标值必须在 0 到原数组长度之间;

int to:拷贝数组的终止下标,且终止下标必须大于等于起始下标,也可以大于 arr.length,如果大于 arr.length,则新数组中剩余的空位置用默认值0进行填充。

示例代码:

 运行结果:

5、System.arraycopy()方法

该方法位于System类中,语法形式如下:

使用此方法复制数组时,length+srcPos必须小于等于原数组的长度,同时 length+destPos 必须小于等于新数组的长度。

示例代码:

 运行结果:

到此这篇关于5种Java中数组的拷贝方法总结分享的文章就介绍到这了,更多相关Java数组拷贝内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章