Java List添加list的用法及总结
在用hibernate做投票结果导出的时候,我将查询的结果集定义为一个List<List>类型,并将每次在数据库中查询的数据存到结果集为List类型的集合里,然后根据本主题下的投票记录遍历存放list。现总结一下
1、如果这样存放则会出现以上的问题,每次按照定义的循环add完之后才能添加(会导致重复数据)
应该这样写在每一次往List<List>中添加list时,都应该重新在内存中开辟一个list空间便于给存放新的数据到list中
2、List<List>存放list类型的数据要使用用add(int i,list)方法而不是add(list),这样的话在每次new一个list集合时,List<List>都只存放一个数据,之前的list数据会被覆盖(还是list在开辟的内存中指向的问题),只输出最后一次循环的数据。所以要规定每次这个数据要存放到哪里,使用add(int i,list)方法。
3、要给list存放数据时,每次都要new一个list,不new的话list在内存中只开辟一个list对象,每次往里面存放数据时,list都指向这一个对象。所以要达到每次循环都有不一样的list时,在循环下面重新在内存中开辟新的list
主要还是要了解list的堆栈问题。