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

arraycopy()函数用法及示例演示。

发布时间:2023-12-08 05:17:45

arraycopy()函数是一个Java中的数组复制函数,用于将一个数组的元素复制到另一个数组中。

arraycopy()函数的语法如下:

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

参数解释:

- src:源数组,即要复制的数组。

- srcPos:源数组的起始位置。

- dest:目标数组,即要将元素复制到的数组。

- destPos:目标数组的起始位置。

- length:要复制的元素数量。

arraycopy()函数的调用会将源数组从srcPos开始复制,复制到目标数组的destPos位置,复制的元素数量为length。需要注意的是,如果源数组和目标数组是同一个数组,并且源数组的起始位置小于目标数组的起始位置,则会发生数据重叠。

下面通过示例来演示arraycopy()函数的用法:

public class ArrayCopyExample {
    public static void main(String[] args) {
        int[] src = {1, 2, 3, 4, 5};
        int[] dest = new int[5];
        
        // 将src数组的元素复制到dest数组中
        System.arraycopy(src, 0, dest, 0, src.length);
        
        // 输出复制后的dest数组
        for (int i = 0; i < dest.length; i++) {
            System.out.println(dest[i]);
        }
    }
}

上述示例中,我们创建了一个源数组src和一个目标数组dest,然后使用arraycopy()函数将src数组的元素复制到dest数组中。最后,我们遍历dest数组并输出其中的元素。运行结果如下:

1
2
3
4
5

从运行结果可以看出,src数组的元素已经成功地复制到了dest数组中。

除了基本类型的数组,arraycopy()函数也可以用于复制对象类型的数组。示例如下:

class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

public class ArrayCopyExample {
    public static void main(String[] args) {
        Person[] src = {new Person("Alice"), new Person("Bob"), new Person("Charlie")};
        Person[] dest = new Person[3];

        // 将src数组的元素复制到dest数组中
        System.arraycopy(src, 0, dest, 0, src.length);

        // 输出复制后的dest数组的元素的name
        for (int i = 0; i < dest.length; i++) {
            System.out.println(dest[i].getName());
        }
    }
}

上述示例中,我们创建了一个Person类,并在src数组中放入了三个Person对象。然后,我们创建了与src数组相同长度的dest数组,并使用arraycopy()函数将src数组的元素复制到dest数组中。最后,我们遍历dest数组并输出其中的元素的name属性。运行结果如下:

Alice
Bob
Charlie

从运行结果可以看出,src数组中Person对象的name属性已经成功地复制到了dest数组中的Person对象中。

综上所述,arraycopy()函数是一个在Java中用于复制数组元素的函数,可以用于复制基本类型数组和对象类型数组。使用arraycopy()函数可以方便地实现数组之间元素的复制。