gpt4 book ai didi

java - 如何将Array的新对象ArrayList添加到另一个ArrayList中?

转载 作者:行者123 更新时间:2023-11-30 02:13:05 25 4
gpt4 key购买 nike

所以,我有这段代码,基本上我想将一个字符串数组放入一个 ListArray 内部,然后将该 ListArray 放入另一个 ListArray 内部。虽然我知道如何放入 Array 的新对象,但我似乎找不到将新的 ListArray 对象放入另一个 ListArray 的方法

import java.util.ArrayList;
import java.util.List;


public class HelloWorld
{

public static void main(String[] args)
{

ArrayList<List<String[]>> menues = new ArrayList<>();
ArrayList<String[]> items = new ArrayList<String[]>();

String price = "$12";

for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
String name = "Item Code-" + String.valueOf(i) + String.valueOf(j);
items.add( new String[]{name, price} );
}
menues.add(items); // This line is the cause
}

for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(menues.get(i).get(j)[0]);
}
}

}
}

我期望的结果是

Item Code-00
Item Code-01
Item Code-02
Item Code-03
Item Code-04
Item Code-10
Item Code-11
Item Code-12
Item Code-13
Item Code-14
Item Code-20
Item Code-21
Item Code-22
Item Code-23
Item Code-24

我得到的结果(基本上只是重复同样的事情)

Item Code-00
Item Code-01
Item Code-02
Item Code-03
Item Code-04
Item Code-00
Item Code-01
Item Code-02
Item Code-03
Item Code-04
Item Code-00
Item Code-01
Item Code-02
Item Code-03
Item Code-04

最佳答案

您需要将items创建移到循环内:

for (int i = 0; i < 3; i++) {
ArrayList<String[]> items = new ArrayList<String[]>();
for (int j = 0; j < 5; j++) {
String name = "Item Code-" + String.valueOf(i) + String.valueOf(j);
items.add( new String[]{name, price} );
}
menues.add(items); // This line is the cause
}

否则,您会再次添加相同的项目,这会导致外部列表包含相同列表3次。

关于java - 如何将Array的新对象ArrayList添加到另一个ArrayList中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49536155/

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