当我们需要在Java中复制(拷贝)数组时,有四种主要的方法可供选择:
- 使用arraycopy()方法
- 使用clone()方法
- 使用copyOf()方法
- 使用copyOfRange()方法
下面,我们将详细讲解这四种方法。
1. 使用arraycopy()方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- src: 要复制的原始数组
- srcPos: 原始数组的起始位置
- dest: 目标数组
- destPos: 目标数组的起始位置
- length: 要复制的元素数目
示例如下:
public class ArrayCopyExample {
public static void main(String[] args) {
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destArray = new int[sourceArray.length];
System.arraycopy(sourceArray, 0, destArray, 0, sourceArray.length);
System.out.println("Source Array: " + Arrays.toString(sourceArray));
System.out.println("Copied Array: " + Arrays.toString(destArray));
}
}
输出结果:
Source Array: [1, 2, 3, 4, 5]
Copied Array: [1, 2, 3, 4, 5]
2. 使用clone()方法
使用clone()方法可以复制整个数组,示例如下:
public class ArrayCloneExample {
public static void main(String[] args) {
int[] sourceArray = {1, 2, 3, 4, 5};
int[] clonedArray = sourceArray.clone();
System.out.println("Source Array: " + Arrays.toString(sourceArray));
System.out.println("Cloned Array: " + Arrays.toString(clonedArray));
}
}
输出结果:
Source Array: [1, 2, 3, 4, 5]
Cloned Array: [1, 2, 3, 4, 5]
3. 使用copyOf()方法
使用copyOf()方法可以复制原数组的一个子集,示例如下:
public class ArrayCopyOfExample {
public static void main(String[] args) {
int[] sourceArray = {1, 2, 3, 4, 5};
int[] copiedArray = Arrays.copyOf(sourceArray, 3);
System.out.println("Source Array: " + Arrays.toString(sourceArray));
System.out.println("Copied Array: " + Arrays.toString(copiedArray));
}
}
输出结果:
Source Array: [1, 2, 3, 4, 5]
Copied Array: [1, 2, 3]
4. 使用copyOfRange()方法
使用copyOfRange()方法可以复制原数组的一个子集,示例如下:
public class ArrayCopyOfRangeExample {
public static void main(String[] args) {
int[] sourceArray = {1, 2, 3, 4, 5};
int[] copiedArray = Arrays.copyOfRange(sourceArray, 1, 4);
System.out.println("Source Array: " + Arrays.toString(sourceArray));
System.out.println("Copied Array: " + Arrays.toString(copiedArray));
}
}
输出结果:
Source Array: [1, 2, 3, 4, 5]
Copied Array: [2, 3, 4]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRan - Python技术站