gpt4 book ai didi

java - 如何将数据从多个Arraylist移动​​到多个Array(Java中)

转载 作者:行者123 更新时间:2023-12-01 14:33:31 26 4
gpt4 key购买 nike

我有 3 个 arraylist,每个都有 size = 3,3 个数组也都有 length = 3。我想按照以下方式将数据从数组列表复制到数组,但使用任何循环(即 for OR foreach)。

enter image description here

myArray1[1] = arraylist1.get(1);
myArray1[2] = arraylist2.get(1);
myArray1[3] = arraylist3.get(1);

我已经手动一一完成了,没有使用任何循环,但是代码似乎很大,因为将来我确信我的数组列表和数组的数量将增加到 15。

我想将数据从数组列表复制到数组,如图所示,但使用循环而不是手动一一进行?

最佳答案

这个怎么样?

    List<Integer> arraylist0 = Arrays.asList(2,4,3);
List<Integer> arraylist1 = Arrays.asList(2,5,7);
List<Integer> arraylist2 = Arrays.asList(6,3,7);
List<List<Integer>> arraylistList = Arrays.asList(arraylist0, arraylist1, arraylist2);

int size = 3;
int[] myArray0 = new int[size];
int[] myArray1 = new int[size];
int[] myArray2 = new int[size];
int[][] myBigArray = new int[][] {myArray0, myArray1, myArray2};

for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
myBigArray[i][j] = arraylistList.get(j).get(i);
}
}

解释一下,因为我们希望能够使用任意 size (3、15 或更多),我们正在处理二维数据。

我们还在处理arrayList ,它们的用途略有不同。

您的问题的输入是 List<Integer> ,所以我们制作 List<List<Integer>>以便轻松处理所有输入数据。

同样,输出将是数组,因此我们制作一个二维数组( int[][] )以便轻松写入数据。

然后只需迭代 2 个嵌套 for 中的数据即可循环。请注意,此行颠倒了 i 的顺序。和j以便按照您想要的方式拼接数据。

    myBigArray[i][j] = arraylistList.get(j).get(i);

然后你可以像这样打印你的答案:

    System.out.println(Arrays.toString(myArray0));
System.out.println(Arrays.toString(myArray1));
System.out.println(Arrays.toString(myArray2));

关于java - 如何将数据从多个Arraylist移动​​到多个Array(Java中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com