道客优

1234
如何把数组转换为ArrayList
2019-03-29 刀刻油 阅读:1226

在开发过程中有时候需要把一个ArrayList转化为一个数组,有没有什么简便的方法呢?

一个最流行也是被最多人接受的答案

最普遍也是被最多人接受的答案如下:

ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array));

其源码如下:

public ArrayList(Collection<? extends E> c) {
       elementData = c.toArray();
       size = elementData.length;

 

       if (elementData.getClass() != Object[].class)
             elementData = Arrays.copyOf(elementData, size, Object[].class);
}

另外还有一种用法:

List<Element> list = Arrays.asList(array);  

这种方法只适用于固定大小的list,因为asList()返回的列表的大小是固定的,不能进行添加和删除操作,否则会报错。       

推荐阅读: