好的,在我的程序中,我创建了 ArrayLists 的 LinkedList:
List<Marker> list1 = new ArrayList<Marker>();
LinkedList<List<Marker>> list2 = new LinkedList<List<Marker>>();
将项目添加到 list1 时一切正常:list1.add(mark);
但是当我尝试将我的 list1 添加到 list2 ( list2.add(list1)
) 时,我得到了奇怪的事情:list2 中的每个列表大小都等于最后添加的列表大小+1,我什至无法读取这些列表项(例如) list2.getFirst().get(0);
-这样做我得到了错误;
例如我正在这样做:
mark.addSomeInfo();
list1.add(mark);
list2.add(list1);
mark.addSomeInfo();
list1.add(mark);
list2.add(list1);
mark.addSomeInfo();
list1.add(mark);
list2.add(list1);
我需要得到这个:
list2.get(0).size() = 1;
list2.get(1).size() = 2;
list2.get(2).size() = 3;
但相反,我得到了这个:
list2.get(0).size() = 4;
list2.get(1).size() = 4;
list2.get(2).size() = 4;
为什么?我做错了什么?