2013-04-12 79 views
0

比如我有一个初始化的int数组是这样的:如何将int数组转换为数组列表?

int[] array = {1, 2, 3, 4, 5, 6}; 

是否有可能使这一个ArrayList?

+0

的可能重复[如何创建阵列的ArrayList(ArrayList的)(T \ [\])在Java中](http://stackoverflow.com/questions/157944/how-to-create-arraylist-arraylistt-from-array-t-in-java) – hyde

回答

6

由于array的类型是int[]而不是Integer[],Arrays.asList()没有任何帮助。

这里是将工作的一种方式:

List<Integer> list = new ArrayList<Integer>(); 
for (int el : array) { 
    list.add(el); 
} 

如果array类型可以更改为Integer[],事情就变得简单了:

Integer[] array = {1, 2, 3, 4, 5, 6}; 
List<Integer> list = Arrays.asList(array); 

这给出了一个列表,但不是一个ArrayList 。你得到的是类似ArrayList,但是是固定大小。如果这是一个问题,你可以使用:

List<Integer> list = new ArrayList<Integer>(Arrays.asList(array)); 
+0

我将数组改为Integer [],但它说“类型列表不带参数“这是什么意思?我写的方式有问题吗? –

+0

@progRookie:您可能导入了'java.awt.List'而不是'java.util.List'。 – NPE

+0

问题已解决:)谢谢^^ @NPE –

-1
int[] array = {1, 2, 3, 4, 5, 6}; 
ArrayList myArrayList = new ArrayList<Integer>(); 
for(int i=0; i<array.length; i++) 
{ 
    myArrayList.add(array[i]); 
} 

希望这可以帮助你......

+1

使用您的IDE编码并复制/粘贴到此处。这样可以避免编译器错误,比如你的答案。 – jlordo