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一个二维数组是啥意思?怎么用代码实现?