Java列表<;int[]>;未正确填充
我写下了下面的代码Java列表<;int[]>;未正确填充,java,list,Java,List,我写下了下面的代码 ArrayList<int []> l = new ArrayList<>(); int [] temp = new int[2]; int n=1; for(int i=0;i<10;i++) { for(int j=0;j<2;j++) { temp[j]=n++; } l.add(temp); }
ArrayList<int []> l = new ArrayList<>();
int [] temp = new int[2];
int n=1;
for(int i=0;i<10;i++)
{
for(int j=0;j<2;j++)
{
temp[j]=n++;
}
l.add(temp);
}
for(int i=0;i<10;i++)
{
for(int j=0;j<2;j++)
{
System.out.print(l.get(i)[j] + " ");
}
System.out.println();
}
我不明白为什么输出是这样的。我正在用临时数组填充列表,该数组每次都在更改。我做错了什么?您正在使用对同一数组对象的多个引用填充
列表。必须在循环的每次迭代中创建一个新数组,以将元素添加到列表中
for (int i = 0; i < 10; i++) {
int [] temp = new int[2];
for (int j = 0; j < temp.length; j++) {
temp[j] = n++;
}
l.add(temp);
}
for(int i=0;i<10;i++){
int[]temp=新的int[2];
对于(int j=0;j
for (int i = 0; i < 10; i++) {
int [] temp = new int[2];
for (int j = 0; j < temp.length; j++) {
temp[j] = n++;
}
l.add(temp);
}