【发布时间】:2020-10-14 03:15:20
【问题描述】:
我遇到了一个问题,我必须在 java 中使用嵌套的 ArrayList,并且必须在每次迭代后清除内部列表。我注意到,当我将内部列表添加到主列表并稍后清除内部列表时,主列表的值发生了变化。谁能解释为什么会这样。另外,如果我使用数组而不是 ArrayList,会有什么变化吗?我已将代码附加到下面的问题中以使其清楚。
import java.util.*;
import java.lang.*;
import java.io.*;
class Example
{
public static void main(String []args){
ArrayList<ArrayList<Integer>> list= new ArrayList<>();
ArrayList<Integer> innerlist = new ArrayList<>();
innerlist.add(1);
list.add(innerlist);
System.out.println(list);
innerlist.clear();
System.out.println(list);
}
}
输出: [[1]] [[]]
【问题讨论】: