给定Element[]类型的数组:

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

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

ArrayList<Element> arrayList = ???;

当前回答

根据这个问题,使用java 1.7的答案是:

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

但是,最好始终使用界面:

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

其他回答

生成ArrayList<Element>类型列表的lambda表达式(1) 没有未检查的强制转换(2) 而不创建第二个列表(使用例如asList())

ArrayList<Element>list=Stream.of(array).collector(Collectors.toCollection(ArrayList::new));

另一个更新,即将于2014年结束,您也可以使用Java 8完成:

ArrayList<Element> arrayList = Stream.of(myArray).collect(Collectors.toCollection(ArrayList::new));

如果这只是一个列表,则会保存几个字符

List<Element> list = Stream.of(myArray).collect(Collectors.toList());

下面的代码似乎是很好的方法。

new ArrayList<T>(Arrays.asList(myArray));
new ArrayList<>(Arrays.asList(array));

您可以使用Cactos创建ArrayList(我是开发人员之一):

List<String> names = new StickyList<>(
  "Scott Fitzgerald", "Fyodor Dostoyevsky"
);

不能保证该对象实际上是ArrayList类。如果您需要该担保,请执行以下操作:

ArrayList<String> list = new ArrayList<>(
  new StickyList<>(
    "Scott Fitzgerald", "Fyodor Dostoyevsky"
  )
);