Java では、ArrayList は、指定された型の要素を格納するために使用できる動的配列です。 ArrayList を操作する場合、代入の動作を理解することが重要です。
10 個の要素を持つ ArrayList l1 があり、それを別の変数 l2 に代入するとします。 l1 と l2 は同じ ArrayList オブジェクトを指していますか? それとも、オブジェクトのコピーが l2 に割り当てられていますか?
Java の代入は、単に変数の値をコピーするだけです。この場合は、ArrayList オブジェクトへの参照です。結果として、l1 と l2 はどちらも同じ ArrayList オブジェクトを参照します。
例:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
この場合、両方とも同じを指しているため、l2 をクリアすると l1 にも影響します。 object.
ArrayList オブジェクトのコピーを作成するには、新しい ArrayList を作成し、元のリストの要素を新しいリストに追加することで、浅いコピーを作成できます。
List<Integer> newList = new ArrayList<>(oldList);
このメソッドにより、元のオブジェクトと同じ要素を持つ別の ArrayList オブジェクトが生成されます。
以上がJava の ArrayList 割り当てはコピーまたは共有参照を作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。