Java ArrayList のコピー操作: 参照の動作を理解する
ArrayList などの Java オブジェクトへの参照の割り当ては、単に参照をコピーします。オブジェクト自体ではなく、値です。 ArrayList の場合、l1 を l2 に割り当てることは、両方の参照が同じ ArrayList オブジェクトを指すことを意味します。 l2 を通じて行われた後続の変更は l1 にも反映されます。
ただし、単なる参照ではなく、ArrayList オブジェクトのコピーが必要になるシナリオもあります。これを実現するには、新しい ArrayList オブジェクトを作成し、addAll() などのコレクション メソッドを使用して元の ArrayList から要素をコピーしてオブジェクトを設定します。このプロセスでは、独自の基礎となるデータ構造を持つ新しい ArrayList オブジェクトを作成し、コピーをオリジナルから独立させます。
コード例:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } // Create a new ArrayList object to copy the elements into List<Integer> l2 = new ArrayList<>(); l2.addAll(l1); // Clear the original list using l2 l2.clear(); // Original list l1 remains unaffected System.out.println(l1); // Prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
以上がJava ArrayList の真のコピーを作成する方法: 参照と独立オブジェクト?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。