Java-util-arraylist-clone
提供:Dev Guides
Java.util.ArrayList.clone()メソッド
説明
- java.util.ArrayList.clone()*は、このArrayListインスタンスの浅いコピーを返します(つまり、要素自体はコピーされません)。
宣言
以下は* java.util.ArrayList.clone()*メソッドの宣言です
public Object clone()
パラメーター
NA
戻り値
このメソッドは、このArrayListインスタンスのクローンを返します。
例外
NA
例
次の例は、java.util.Arraylist.clone()メソッドの使用法を示しています。
package com.finddevguides;
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String args[]) {
//create an empty array list
ArrayList<StringBuilder> arrlist1 = new ArrayList<StringBuilder>();
//use add for new value
arrlist1.add(new StringBuilder("Learning-"));
//using clone to affect the objects pointed to by the references.
ArrayList arrlist2 = (ArrayList) arrlist1.clone();
//appending the string
StringBuilder strbuilder = arrlist1.get(0);
strbuilder.append("list1, list2-both pointing to the same StringBuilder");
System.out.println("The 1st list prints: ");
//both lists will print the same value, printing list1
for (int i = 0; i < arrlist1.size(); i++) {
System.out.print(arrlist1.get(i) + " ");
}
System.out.println("The 2nd list prints the same i.e:");
//both lists will print the same value, printing list2
for (int i = 0; i < arrlist2.size(); i++) {
System.out.print(arrlist2.get(i));
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
The 1st list prints:
Learning-list1, list2 - both pointing to the same StringBuilder
The 2nd list prints the same i.e:
Learning-list1, list2 - both pointing to the same StringBuilder