私のプログラムでは、ArrayList の LinkedList を作成しました。
List<Marker> list1 = new ArrayList<Marker>();
LinkedList<List<Marker>> list2 = new LinkedList<List<Marker>>();
list1 にアイテムを追加している間、すべてが正常に機能します。list1.add(mark);
しかし、リスト 1 をリスト 2 () に追加しようとすると、list2.add(list1)
奇妙なことが起こります: リスト 2 の各リスト サイズは、最後に追加されたリスト サイズ + 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;
なんで?私が間違っていることは何ですか?