# 如何将`ArrayList`克隆到另一个`ArrayList`

> 原文： [https://beginnersbook.com/2013/12/how-to-clone-an-arraylist-to-another-arraylist/](https://beginnersbook.com/2013/12/how-to-clone-an-arraylist-to-another-arraylist/)

在本教程中，我们将学习如何将`ArrayList`克隆到另一个。我们将使用`ArrayList`类的[`clone()`方法](https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#clone())来实现我们的目的。

`Object clone()`

此方法返回`ArrayList`实例的浅表副本。

## `ArrayList`克隆的完整示例

在这个例子中，我们有一个`String`类型的`ArrayList`，我们使用`clone()`方法将它克隆到另一个`ArrayList`。这里有趣的一点是，当我们在`clone()`方法之后添加并删除了原始`ArrayList`中的一些元素时，克隆的`ArrayList`没有受到影响。它表明`clone()`方法只返回`ArrayList`的浅表副本。

```java
package beginnersbook.com;
import java.util.ArrayList;
public class Details {

   public static void main(String a[]){
     ArrayList<String> al = new ArrayList<String>();

     //Adding elements to the ArrayList
     al.add("Apple");
     al.add("Orange");
     al.add("Mango");
     al.add("Grapes");
     System.out.println("ArrayList: "+al);

     ArrayList<String> al2 = (ArrayList<String>)al.clone();
     System.out.println("Shallow copy of ArrayList: "+ al2);

     //add and remove on original ArrayList
     al.add("Fig");
     al.remove("Orange");

     //Display of both ArrayLists after add & remove
     System.out.println("Original ArrayList:"+al);
     System.out.println("Cloned ArrayList:"+al2);
   }
}
```

输出：

```java
ArrayList: [Apple, Orange, Mango, Grapes]
Shallow copy of ArrayList: [Apple, Orange, Mango, Grapes]
Original ArrayList:[Apple, Mango, Grapes, Fig]
Cloned ArrayList:[Apple, Orange, Mango, Grapes]
```