从数组创建数组列表

2022-08-31 01:23:17

给定一个类型数组:Element[]

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

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

ArrayList<Element> arrayList = ???;

答案 1
new ArrayList<>(Arrays.asList(array));

答案 2

鉴于:

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

最简单的答案是做:

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

这将正常工作。但需要注意的是:

  1. 从 asList 返回的列表具有固定大小。因此,如果您希望能够在代码的返回列表中添加或删除元素,则需要将其包装在新的.否则,您将获得 .ArrayListUnsupportedOperationException
  2. 从 返回的列表由原始数组支持。如果修改原始数组,列表也将被修改。这可能令人惊讶。asList()