美文网首页程序员
Java拷贝数组的三种方法

Java拷贝数组的三种方法

作者: 天香阁主 | 来源:发表于2018-09-05 20:40 被阅读0次

1.简介

        Java中拷贝数组笔者目前所知的就三种方法,今天就简单的做个记录。大家如果有什么更好的方法,麻烦留言评论。

2.代码

public class ArrayClone {

    public static void main(String[] args) {
        // The first method
        int[] arrays1 = new int[]{1, 2, 3, 4};
        int[] arrays2 = arrays1;
        System.out.println(arrays1 == arrays2);
        System.out.println(Arrays.toString(arrays1));
        System.out.println(Arrays.toString(arrays2));

        // The second method
        int[] arrays3 = new int[]{1, 2, 3, 4};
        int[] arrays4 = arrays3.clone();
        System.out.println(arrays3 == arrays4);
        System.out.println(Arrays.toString(arrays3));
        System.out.println(Arrays.toString(arrays4));

        // The third method
        int[] arrays5 = new int[]{1, 2, 3, 4};
        int[] arrays6 = Arrays.copyOf(arrays5, arrays5.length);
        System.out.println(arrays5 == arrays6);
        System.out.println(Arrays.toString(arrays5));
        System.out.println(Arrays.toString(arrays6));
    }
}

3.效果

输出结果

4.结论

        第一种方法是两个变量指向同一个数组,也就是说就是一个数组,俗称为浅拷贝;第二种方法是数组自带的克隆方法,从arrays3和arrays4 的比较结果很容易看出这是两个数组,是完全独立的,也就是深拷贝;第三种方法跟第二种方法结果是完全一样的,但是第三种方法更加灵活,是可以指定拷贝的数组的起始位置及终止位置的,而第二种方法就做不到这一点。

相关文章

  • Java拷贝数组的三种方法

    1.简介 Java中拷贝数组笔者目前所知的就三种方法,今天就简单的做个记录。大家如果有什么更好的方法,麻烦留言评论...

  • 关于数组copy

    java中数组拷贝的方法有System.arrayCopy和Arrays.copyOf Arrays.copyOf...

  • 10.13-2 数组拷贝

    三种方式实现数组的拷贝调用如下函数 程序示例

  • iOS 数组深复制 NSMutableCopy

    实现模型数组深拷贝的方法1、最笨的方法就是通过遍历逐个拷贝元素 2、也有人使用归档解档实现数组内部元素拷贝 3、这...

  • javascript 数组以及对象的深拷贝

    ES6扩展运算符实现数组的深拷贝 concat 方法实现数组的深拷贝 它是用于连接多个数组组成一个新的数组的方法。...

  • 数组技巧

    生成类似[1-100]这样的的数组: 测试大量数组数据时可以: 数组解构赋值应用 数组浅拷贝 浅拷贝方法有很多如a...

  • System.arraycopy为什么快

    前言 在 Java 编程中经常会遇到数组拷贝操作,一般会有如下四种方式对数组进行拷贝。 for遍历,遍历源数组并将...

  • js数组的深拷贝

    数组中的slice() & concat() 均为浅拷贝方法

  • Java数组的拷贝/排序操作

    1.1. 数组拷贝(掌握) 需求:定义一个方法arraycopy完成int类型数组的拷贝 1.1.1. 实现int...

  • 『JavaScript专题』之深浅拷贝

    前言 拷贝也是面试经典呐! 数组的浅拷贝 如果是数组,我们可以利用数组的一些方法比如:slice、concat 返...

网友评论

    本文标题:Java拷贝数组的三种方法

    本文链接:https://www.haomeiwen.com/subject/spezwftx.html