给定Element[]类型的数组:

Element[] array = {new Element(1), new Element(2), new Element(3)};

如何将此数组转换为ArrayList<Element>类型的对象?

ArrayList<Element> arrayList = ???;

当前回答

使用Stream(从java 16开始)

new ArrayList<>(Arrays.stream(array).toList());

其他回答

可以使用不同的方法进行转换

List<Element>List=Arrays.asList(array);List<Element>List=newArrayList();Collections.addAll(列表,数组);Arraylist列表=新Arraylist();list.addAll(Arrays.asList(array));

有关详细信息,请参阅http://javarevisited.blogspot.in/2011/06/converting-array-to-arraylist-in-java.html

// Guava
import com.google.common.collect.ListsLists
...
List<String> list = Lists.newArrayList(aStringArray); 
new ArrayList<>(Arrays.asList(array));

另一种简单的方法是使用for each循环将数组中的所有元素添加到新的ArrayList中。

ArrayList<Element> list = new ArrayList<>();

for(Element e : array)
    list.add(e);

另一种方式(虽然本质上等同于新的ArrayList(array.asList(array))解决方案的性能:

Collections.addAll(arraylist, array);