gpt4 book ai didi

java - 将 ArrayList 的项目添加到 ArrayList 的其他 ArrayList

转载 作者:行者123 更新时间:2023-11-29 07:40:59 27 4
gpt4 key购买 nike

我已经添加了一个项目到列表 a,然后添加了列表 a 到列表 b 并再次做了同样的事情。

我的问题是,如果我打印 b.get(0)b.get(1),我会得到相同的列表,这两个项目都是 “一”“二”,为什么会这样?

b.get(0) 处,我只想获取我添加的一项,即 a.add("One")

添加 a.add("Two") 后,如果我打印 b.get(1) 我应该得到两个 "One"“两个”

是否有任何解决方案或任何更改来管理此问题?

List<String> a= new ArrayList<String>();
List<List<String>> b= new ArrayList<List<String>>();

a.add("One");
b.add(a);

a.add("Two");
b.add(a);

System.out.println("b="+b.get(0));
System.out.println("b="+b.get(1));

输出:

b=[One, Two]
b=[One, Two]

最佳答案

您两次添加相同的列表,因此您会看到外部列表的两个索引的相同元素。

为了添加两个不同的 List,您必须在将每个元素添加到外部 List 之前创建一个新的 ArrayList :

a.add("One");
b.add(a);

a = new ArrayList<>(a); // assuming you want the second list to contain both "One" and "Two"
a.add("Two");
b.add(a);

关于java - 将 ArrayList 的项目添加到 ArrayList 的其他 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211426/

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