# 如何在 java 中将数组转换为`ArrayList`

> 原文： [https://beginnersbook.com/2013/12/how-to-convert-array-to-arraylist-in-java/](https://beginnersbook.com/2013/12/how-to-convert-array-to-arraylist-in-java/)

在上一个教程中，我们共享了两个使用示例将`ArrayList`转换为数组的方法。这里我们分享三种不同的方式将数组转换为`ArrayList`。基本上我们将`String`数组转换为`String`类型的`ArrayList`。

`String array[] to ArrayList<String>`

### 方法 1：使用`Arrays.asList()`进行转换

句法：

`ArrayList<T> arraylist = new ArrayList<T>(Arrays.asList(arrayname));`

例：

在这个例子中，我们使用[`Arrays.asList`](https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList(T...))方法将`Array`转换为`ArrayList`。

```java
import java.util.*;

public class ArrayToArrayList {
     public static void main(String[] args) {

	  /* Array Declaration and initialization*/
	  String citynames[]={"Agra", "Mysore", "Chandigarh", "Bhopal"};

	  /*Array to ArrayList conversion*/
	  ArrayList<String> citylist= new ArrayList<String>(Arrays.asList(citynames));

	  /*Adding new elements to the converted List*/
	  citylist.add("New City2");
	  citylist.add("New City3");

	  /*Final ArrayList content display using for*/
	  for (String str: citylist)
	  {
		System.out.println(str);
       	  }
      }
}
```

输出：

```java
Agra
Mysore
Chandigarh
Bhopal
New City2
New City3
```

### 方法 2：`Collections.addAll`方法

`Collections.addAll`方法将所有数组元素添加到指定的集合中。这就是调用`Collections.addAll`方法的方法。它与`Arrays.asList`方法的作用相同，但它比它快得多，因此性能方面这是将数组转换为`ArrayList`的最佳方法。

```java
String array[]={new Item(1), new Item(2), new Item(3), new Item(4)};
ArrayList&lt;T&gt; arraylist = new ArrayList&lt;T&gt;();
Collections.addAll(arraylist, array);
```

或

```java
Collections.addAll(arraylist, new Item(1), new Item(2), new Item(3), new Item(4));
````

实现示例

```java
import java.util.*;

public class Example2 {
	public static void main(String[] args) {

	    /* Array Declaration and initialization*/
	    String array[]={"Hi", "Hello", "Howdy", "Bye"};

	    /*ArrayList declaration*/
	    ArrayList<String> arraylist= new ArrayList<String>();

	    /*Conversion*/
	    Collections.addAll(arraylist, array);

	    /*Adding new elements to the converted List*/
	    arraylist.add("String1");
	    arraylist.add("String2");

	    /*Display array list*/
	    for (String str: arraylist)
	    {
	 	System.out.println(str);
	    }
	}
}
```

结果：

```java
Hi
Hello
Howdy
Bye
String1
String2
```

### 方法 3：手动方式

我们还可以手动将所有数组元素添加到`ArrayList`中。下面的示例显示了手动转换的逻辑。

```java
package beginnersbook.com;

import java.util.*;

public class Details {
	public static void main(String[] args) {

	    /*ArrayList declaration*/
	    ArrayList<String> arraylist= new ArrayList<String>();

	    /*Initialized Array*/
	    String array[] = {"Text1","Text2","Text3","Text4"};   

	    /*array.length returns the current number of 
	     * elements present in array*/
	    for(int i =0;i<array.length;i++)
            {

	         /* We are adding each array's element to the ArrayList*/
		 arraylist.add(array[i]);
	    }

	    /*ArrayList content*/
	    for(String str: arraylist)
	    {
	         System.out.println(str);
	    }
      }
}
```

输出：

```java
Text1
Text2
Text3
Text4
```