问题描述
限时送ChatGPT账号..我正在尝试创建字符串数组的数组列表.完成后,我希望数组列表如下所示:
I'm trying to create an array list of string arrays. When I am done, I want the array list to look like this:
[0,0], [0,1], [1,0], [1,1,]
我尝试定义一个数组,然后将其添加到数组列表中.然后重新定义一个数组并再次添加它.但是数组列表似乎只包含最后一个条目.看一看:
I have tried to define an array and then add it to the array list. Then re-define an array and add it again. But the array list only seems to contains the last entry. Take a look:
String[] t2 = new String[2];
ArrayList<String[]> list2 = new ArrayList<String[]>();
t2[0]="0";
t2[1]="0";
list2.add(t2);
t2[0]="0";
t2[1]="1";
list2.add(t2);
t2[0]="1";
t2[1]="0";
list2.add(t2);
t2[0]="1";
t2[1]="1";
list2.add(t2);
for (String[] tt : list2)
{
System.out.print("[");
for (String s : tt)
System.out.print(s+" ");
System.out.print("]");
}
输出为:
[1,1] [1,1] [1,1] [1,1]
知道如何将每个数组添加到我的数组列表中吗?`
Any idea on how to add each array to my array list?`
推荐答案
问题是您正在向 ArrayList 的每个索引添加相同的对象.每次修改它时,都是在修改同一个对象.为了解决这个问题,你必须传递对不同对象的引用.
The problem is that you are adding the same object to each index of your ArrayList. Every time you modify it, you are modifying the same object. To solve the problem, you have to pass references to different objects.
String[] t2 = new String[2];
ArrayList<String[]> list2 = new ArrayList<String[]>();
t2[0]="0";
t2[1]="0";
list2.add(t2);
t2 = new String[2]; // create a new array
t2[0]="0";
t2[1]="1";
list2.add(t2);
t2 = new String[2];
t2[0]="1";
t2[1]="0";
list2.add(t2);
t2 = new String[2];
t2[0]="1";
t2[1]="1";
list2.add(t2);
这篇关于创建数组的数组列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论