今天分享的是Java中拷贝数组的5种方法:
1. for 循环遍历
int[] arr = {1,2,3,4,5}; int[] copy = new int[arr.length]; for(int i = 0 ;
i<arr.length ; i++){ copy[i] = arr[i]; }
可以看到,这是一种非常简单的拷贝方法。
2.使用Arrays类自带的拷贝方法
int[] arr = {1,2,3,4,5}; int[] copy = Arrays.copyOf(arr,array.length);
在Arrays类中,有copyOf这样一个拷贝方法,它的括号里面有两个参数,第一个是需要拷贝的数组,第二个是需要拷贝的长度,而如果需要拷贝的长度超过了前面数组的长度,会在拷贝的时候补0进去。
同时,Arrays.copyOf可以看做拷贝,也可以看做扩容
3.使用System.arraycopy
int[] arr = {1,2,3,4,5}; int[] copy = new int[array.length];
System.arraycopy(array,0,copy,0,arr.length);
这个拷贝方式是最快的,但是参数也是最多的:
分别是 你要拷贝的数组,开始拷贝的下标,目的地数组,目的地数组位置,你要拷贝的长度
同时,这种方法也是最重要的拷贝方法。
4.使用clone
int[] arr = {1.2.3.4}; int[] copy = arr.clone;
arr和copy数组是独立存在的,并不是共用一个地址,而是复制了过来。