pointと呼ばれる2D arrayListのlastElementを取得し、その最後の要素を、更新されたY値と同じX値を持つ新しい要素としてリストに追加したいとします。だから、基本的には、ポイント2D配列の最後の要素を取得して、それをポイント2D配列の最後に追加しますが、y値を変更します。しかし、問題は、私がyの値を変更すると、情報が取得された要素の値も変更されることです。ArrayList内の要素の値を変更すると、他の要素の値を変更するのはなぜですか?
List<List<Integer>> point = new ArrayList<List<Integer>>();
List<Integer> values= new ArrayList<Integer>();
values.add(1);//x
values.add(2);//y
point.add(values);
point.add(point.get(point.size()-1));
point.get(0).set(1, 200);
System.out.println(point);
出力:[[1、200]、[1、200]] 予想される出力:[[1]、[2]、[1、200]]
コードを表示して、期待される出力と現在の出力を表示してください... –
詳細を明記してください。いくつかのコードを表示します。 –
http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/mcve –