复制数组代码java
时间: 2024-09-10 22:29:57 浏览: 48
Java数组集合的深度复制代码实例
在Java中,复制数组可以通过多种方法实现,下面提供几种常见的方法:
1. 使用 `System.arraycopy()` 方法:
这是一个高效的数组复制方法,可以直接在JVM层面操作,复制速度非常快。使用这个方法需要指定目标数组、目标起始位置、源数组、源起始位置和复制元素的数量。
```java
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[source.length]; // 创建一个新数组作为目标数组
System.arraycopy(source, 0, destination, 0, source.length); // 复制数组
```
2. 使用 `Arrays.copyOf()` 方法:
`Arrays` 类提供了 `copyOf` 方法,它可以用来复制数组,同时还可以指定新数组的长度,如果新数组长度大于原数组,不足的部分会用默认值填充(例如,基本数据类型数组用0填充,对象数组用null填充)。
```java
int[] source = {1, 2, 3, 4, 5};
int[] destination = Arrays.copyOf(source, source.length); // 复制数组,长度与原数组相同
int[] destination2 = Arrays.copyOf(source, source.length + 2); // 复制数组,长度比原数组多2
```
3. 使用循环和逐个复制元素:
如果需要更细致的操作,或者在某些特殊的场景下,可以使用循环结构逐个元素复制。
```java
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[source.length];
for (int i = 0; i < source.length; i++) {
destination[i] = source[i]; // 逐个元素复制
}
```
4. 使用 Java 8 的流(Stream)API:
从Java 8开始,可以利用流来实现数组的复制。
```java
int[] source = {1, 2, 3, 4, 5};
int[] destination = Arrays.stream(source).toArray(); // 使用流复制数组
```
以上就是在Java中复制数组的几种常见方法。
阅读全文