先了解拷贝的代码实现:
简单的自我实现拷贝
1. for(int i=0;i< arr.length;i++){ 2. copy[i] = arr[i]; 3. }
1.最常用的拷贝方法
参数① 拷贝的数组 参数② 需要拷贝的长度
注意:当长度大于需要拷贝的内容时,会发生扩容
int[] arr = {1,2,3,4,5}; int[] copy1 = new int[arr.length]; copy = Arrays.copyOf(arr,arr.length);
2.拷贝一部分(半灵活)
注意: from to 通常是左闭右开 [ )
参数① 需要拷贝是数组 参数② 拷贝的开始位置 参数③ 拷贝的结束位置
int[] arr = { 1,2,3,4,5 }; int[] copy2 = Arrays.copyOfRange(arr,0,1);
3.灵活拷贝
参数1 你要拷贝的数组 参数2 你要从这个数组的那个下标开始
参数3 你要拷贝到哪个数组 参数4 你要拷贝到这个数组的哪个位置开始 参数5 拷贝多大
int[] arr = { 1,2,3,4,5 }; int[] copy3 = new int[5]; System.arraycopy(arr,1,copy3,2,2);
4.克隆---了解
很粗暴的创建一个副本,很少使用
int[] copy4 = arr.clone();