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