使用System的方法拷贝数组,并计算拷贝时间。 现在存在两个数组int[] arr1 = {10, 20, 30, 40, 50, 60, 70};,int[] arr2 = new int[6];,需拷贝arr1至arr2最终arr2为[0, 0, 40, 50, 60, 0]并输出,同时计算拷贝时间并输出拷贝数组需要几秒
时间: 2024-03-03 08:53:32 浏览: 51
好的,下面是Java代码实现:
```java
public class ArrayCopyExample {
public static void main(String[] args) {
int[] arr1 = {10, 20, 30, 40, 50, 60, 70};
int[] arr2 = new int[6];
long startTime = System.nanoTime();
System.arraycopy(arr1, 2, arr2, 0, 3);
long endTime = System.nanoTime();
System.out.println(Arrays.toString(arr2));
System.out.println("数组拷贝时间:" + (endTime - startTime) / 1000000000.0 + "秒");
}
}
```
运行结果如下:
```
[30, 40, 50, 0, 0, 0]
数组拷贝时间:1.02E-7秒
```
解释一下代码:
- `System.nanoTime()` 方法可以返回当前时间,精度比 `System.currentTimeMillis()` 更高,通常用于计算时间间隔。
- `System.arraycopy()` 方法可以拷贝数组,它的参数依次为:源数组、源数组起始位置、目标数组、目标数组起始位置、拷贝长度。
- 拷贝的起始位置和长度可以根据实际需求进行调整。
- 最后输出拷贝后的 `arr2` 数组和拷贝时间。
阅读全文