JavaでArrayListを別のArrayListにコピー/クローンする

このチュートリアルでは、1 つの ArrayList から別の ArrayList にすべての項目をコピーする方法を見ていきます。メソッド clone() 目的を達成するための親クラス Object

Object clone(): このメソッドは ArrayList.

Cloning のコピーを返します。これは リスト b = a;です。最初のリストの項目を変更すると、2 番目のリストでも変更されます。

Cloning は、同じ項目を保持する新しいインスタンスを作成します。つまり、2 つの異なるリストがありますが、その内容は同じです。最初のリストの要素を変更しても、2 番目のリストでは変更されません。

この例では、String 型の ArrayList があり、メソッド  clone(). ここで興味深いのは、clone.

import java.util.ArrayList;

public class ArrayList_clone {

public static void main(String[] args) {
ArrayList<文字列>al = new ArrayListです<文字列>();

//ArrayListに項目を追加
al.add("Pen");
al.add("キット");
al.add("鉛筆");
al.add("電卓");
System.out.println("ArrayList: "+al);

ArrayList<文字列>al2 = (配列リスト<文字列>)al.clone();
System.out.println("複製された配列リスト: "+ al2);

//元のリストに項目を追加および削除します
al.add("Notebook");
al.remove("鉛筆");

//追加後と削除後に両方のリストを表示します
System.out.println("Original ArrayList: "+al);
System.out.println("複製されたArrayList: "+al2);
}
}
Runtime:

ArrayList: [ペン, キット, 鉛筆, 電卓]
Cloned ArrayList: [ペン, キット, 鉛筆, 電卓]
ArrayList オリジナル: [ペン, キット, 電卓, ノートブック]
Cloned ArrayList: [ペン, キット, 鉛筆, 電卓]
ただし、clone() メソッドを使用しないことを検討する必要があります。コレクションで非常にうまく機能しますが、一般的には、ビルダー new ArrayListです。