代码:
System.out.println("------------------------------------------------------");
List<Sceneries> lList = new ArrayList<Sceneries>();
Sceneries sceneries = new Sceneries();
sceneries.setName("美丽的海南");
lList.add(sceneries);
sceneries = new Sceneries();
sceneries.setName("美丽的天空");
lList.add(sceneries);
List<List<Sceneries>> llllList = new ArrayList<List<Sceneries>>();
System.out.println("刚实例化完时的大小="+llllList.size());
llllList.add(lList);
for(List<Sceneries> lsList : llllList)
{
System.out.println(lsList.toString());
}
System.out.println("------------------------------------------------------");
lList.clear();
sceneries = new Sceneries();
sceneries.setName("美丽的天空");
System.out.println("lList未add时的大小="+llllList.size());
for(List<Sceneries> lsList : llllList)
{
System.out.println("lList 未add时="+lsList.toString());
}
lList.add(sceneries);
System.out.println("------------------------------------------------------");
for(List<Sceneries> lsList : llllList)
{
System.out.println("lList add后="+lsList.toString());
}
llllList.add(lList);
System.out.println("------------------------------------------------------");
for(List<Sceneries> lsList : llllList)
{
System.out.println(lsList.toString());
}
结果:
------------------------------------------------------
刚实例化完时的大小=0
[美丽的海南, 美丽的天空]
------------------------------------------------------
lList未add时的大小=1
lList 未add时=[]
------------------------------------------------------
lList add后=[美丽的天空]
------------------------------------------------------
[美丽的天空]
[美丽的天空]
分析:
里面的list在清空之后仍保留着一个空间,在其add之后,外面的list自动包含了add的内容,无需再次add里面的list