在 Java 中复制数组
本文介绍了几种在 Java 中把一个数组复制到另一个数组的方法。我们可以使用手动的方法与循环来实现,但为了简单起见,我们不想重新发明轮子,还是不要使用这种方法。
在 Java 中使用 Arays.copyOf()
将一个数组复制到另一个数组
我们可以使用 Arrays
类的 copyOf()
方法,将指定的数组复制到一个新的数组中。copyOf()
需要两个参数,第一个是要复制的数组,第二个是新数组的长度。
在下面的例子中,我们将 array1
复制到 array2
。新数组的长度等于 array1
。如果新数组的大小大于旧数组的大小,那么每一个空的索引都将被填充为 0。我们用一个循环来打印新数组的项目和它们的索引。
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args) {
int[] array1 = new int[]{2, 4, 6, 8, 10};
int[] array2 = Arrays.copyOf(array1, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
输出:
array2 position 0: 2
array2 position 1: 4
array2 position 2: 6
array2 position 3: 8
array2 position 4: 10
使用 Java 中的 System.arraycopy()
将一个数组复制到另一个数组
System.arraycopy()
在我们要用旧数组的子项目创建一个新数组时非常有用,因为它将旧数组的指定位置的数组项目复制到新数组的位置。
System.arraycopy()
至少需要四个参数,分别是要复制的数组 array1
、array1
的起始位置、新数组 array2
、array2
的起始位置、要复制到 array2
的元素。输出显示的是 array2
中的元素。
public class CopyArray {
public static void main(String[] args) {
String[] array1 = new String[]{"Adam", "Claire", "Dave", "Greg", "Halsey", "Jane", "Kylie"};
String[] array2 = new String[array1.length];
System.arraycopy(array1, 0, array2, 0, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
输出:
array2 position 0: Adam
array2 position 1: Claire
array2 position 2: Dave
array2 position 3: Greg
array2 position 4: Halsey
array2 position 5: Jane
array2 position 6: Kylie
在 Java 中使用 clone()
将一个二维数组复制到另一个数组中
Java 中最后一个复制数组的方法是 clone()
,它返回一个包含复制数组项的新数组。在这个例子中,我们使用一个有八个元素的二维数组 array1
。我们使用 array1.clone()
来复制数组,并使用两个循环来打印新的数组 array2
元素。
public class CopyArray {
public static void main(String[] args) {
int[][] array1 = {{10, 20}, {30, 40}, {50, 60}, {70, 80}};
int[][] array2 = array1.clone();
for (int i = 0; i < array2.length; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.println("array2 position [" + i + "][" + j + "] : " + array2[i][j]);
}
}
}
}
输出:
array2 position [0][0] : 10
array2 position [0][1] : 20
array2 position [1][0] : 30
array2 position [1][1] : 40
array2 position [2][0] : 50
array2 position [2][1] : 60
array2 position [3][0] : 70
array2 position [3][1] : 80
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,