java一维数组的复制

Posted DQ_CODING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java一维数组的复制相关的知识,希望对你有一定的参考价值。

题目

  • 使用简单数组
  • (1)创建一个名为ArrayTest的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。
  • (2)使用大括号,把array1初始化为8个素数:2,3,5,7,11,13,17,19。
  • (3)显示array1的内容。
  • (4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)。打印出array1

错误代码

public class ArrayTest3 
    public static void main(String[] args) 
//        声明array1和array2两个变量
        int[] array1, array2;
        array1 = new int[]2, 3, 5, 7, 11, 13, 17, 19;
//        赋值array2变量等于array1,这里不叫作数组的复制
        array2 = array1;
//        [2, 3, 5, 7, 11, 13, 17, 19]
        System.out.println(Arrays.toString(array1));
        for (int i = 0; i < array1.length; i++) 
            if (i % 2 == 0) 
                array2[i] = i;
            
        
//        [0, 3, 2, 7, 4, 13, 6, 19]
        System.out.println(Arrays.toString(array2));
//        [0, 3, 2, 7, 4, 13, 6, 19]
//        此时array1也发生了改变,因为是把array1的地址给了array2
        System.out.println(Arrays.toString(array1));
    


正确代码

public class CopyArray 
    public static void main(String[] args) 
//        声明array1和array2两个变量
        int[] array1, array2;
        array1 = new int[]2, 3, 5, 7, 11, 13, 17, 19;
//        赋值array2变量等于array1
        array2 = new int[array1.length];
//        [2, 3, 5, 7, 11, 13, 17, 19]
        System.out.println(Arrays.toString(array1));
        for (int i = 0; i < array1.length; i++) 
            array2[i]=array1[i];
            if (i % 2 == 0) 
                array2[i] = i;
            
        
//        [0, 3, 2, 7, 4, 13, 6, 19]
        System.out.println(Arrays.toString(array2));
//        [2, 3, 5, 7, 11, 13, 17, 19]
        System.out.println(Arrays.toString(array1));
    



以上是关于java一维数组的复制的主要内容,如果未能解决你的问题,请参考以下文章

java一维数组中将数组索引位置是0~4之间的元素复制到新的数组中并输出,求代码。

LeetCode - 2022 - 将一维数组变成二维数组 - Java

请问java中深度copy一个二维数组是啥意思?怎么用代码实现?

C++二维数组给一维数组赋值

你可以从两个 np.float 一维数组创建一个 np.complex128 一维数组而不复制吗?

用JAVA编写一个程序,计算一维数组中的最大值、最小值及其差值