欢迎访问宙启技术站
智能推送

Java函数如何复制一个数组到另一个数组?

发布时间:2023-05-21 11:16:04

Java是一种高级编程语言,提供了许多强大的函数库和功能,包括从一个数组复制到另一个数组的功能。在Java中,复制数组的方法取决于要复制的数组类型,也取决于复制的数组中的元素类型。以下是Java中复制数组的基本方法和操作。

使用System类的arraycopy方法来复制数组

在Java中,要复制一个数组到另一个数组,使用System类提供的arraycopy方法。此方法需要以下参数:

1. 要复制的数组

2. 要复制的数组中 个要复制的元素的索引

3. 要复制的数组的目的数组

4. 目的数组中要复制到的 个元素的索引

5. 要复制的元素数量

// Java program demonstrating the

// System.arraycopy() method

import java.util.Arrays;

class GFG {

  

    public static void main(String[] args)

    {

  

        // Initializing a source array

        char[] srcArr = { 'V', 'i', 's', 'h', 'a', 'l' };

  

        // Declaring array of destination

        // having same length as source array

        char[] dstArr = new char[srcArr.length];

  

        // Copying whole source array to destination

        // array with System.arraycopy() method

        System.arraycopy(srcArr, 0, dstArr, 0, srcArr.length);

  

        // Printing elements of destination

        System.out.println("copied arrays");

        System.out.println(Arrays.toString(dstArr));

    }

}

/*

Output:

copied arrays

[V, i, s, h, a, l]

*/

通过for循环复制数组

另一种方法是使用for循环逐个复制数组。同样需要两个数组和它们的长度作为输入参数。以下是一个使用for循环方法复制整数数组的示例:

public class CopyArrayExample {

public static void main(String[] args) {

int[] numbers1 = {1, 2, 3, 4, 5};

int[] numbers2 = new int[numbers1.length];

// Using for loop to copy array

for (int i = 0; i < numbers1.length; i++) {

numbers2[i] = numbers1[i];

}

System.out.println("Copied array: "+Arrays.toString(numbers2));

}}

/*

Output:

Copied array: [1, 2, 3, 4, 5]

*/

在Java 8中,使用Stream API复制数组

此外,在Java 8中,可以使用Stream API来复制数组。Stream API允许快速且轻松地操作集合元素。以下是使用Stream API复制整数数组的示例:

public class CopyArrayExample {

public static void main(String[] args) {

int[] numbers1 = {1, 2, 3, 4, 5};

int[] numbers2 = Arrays.stream(numbers1).toArray();

// Printing the copied array using Arrays.toString() method

System.out.println("Copied array: " + Arrays.toString(numbers2));

}}

/*

Output:

Copied array: [1, 2, 3, 4, 5]

*/

使用Arrays.copyOf方法复制数组

Arrays的类是Java中一个常用的类,提供了与数组相关的各种方法。其中一个是Arrays.copyOf方法,用于创建一个新的数组,该数组是源数组的副本。

以下是使用Arrays.copyOf方法复制整数数组的示例:

public class CopyArrayExample {

public static void main(String[] args) {

int[] numbers1 = {1, 2, 3, 4, 5};

int[] numbers2 = Arrays.copyOf(numbers1, numbers1.length);

// Printing the copied array using Arrays.toString() method

System.out.println("Copied array: " + Arrays.toString(numbers2));

}}

/*

Output:

Copied array: [1, 2, 3, 4, 5]

*/

总结

在Java中,有许多方法可以复制数组,如System.arraycopy()、for loop、Stream API和Arrays.copyOf()。这些方法都提供了不同的选项和功能,需要根据具体需求选择合适的方法进行操作。