给定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());

其他回答

Java 9

在Java9中,可以使用List.of静态工厂方法来创建List文本。类似以下内容:

List<Element> elements = List.of(new Element(1), new Element(2), new Element(3));

这将返回一个包含三个元素的不可变列表。如果需要可变列表,请将该列表传递给ArrayList构造函数:

new ArrayList<>(List.of(// elements vararg))

JEP 269:便利工厂收集方法

JEP269为Java集合API提供了一些方便的工厂方法。这些不可变的静态工厂方法内置在Java9和更高版本的List、Set和Map接口中。

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

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

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

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

使用以下代码

Element[] array = {new Element(1), new Element(2), new Element(3)};
ArrayList<Element> list = (ArrayList) Arrays.asList(array);
new ArrayList<T>(Arrays.asList(myArray));

确保myArray的类型与T相同。例如,如果尝试从int数组创建List<Integer>,则会出现编译器错误。

正如大家所说的那样

 new ArrayList<>(Arrays.asList("1","2","3","4"));

创建数组的最新常用方法是observableArrays

ObservableList:允许侦听器在发生更改时跟踪更改的列表。

对于Java SE,您可以尝试

FXCollections.observableArrayList(new Element(1), new Element(2), new Element(3));

根据Oracle Docs

可观测阵列列表()创建一个由数组列表支持的新的空可观察列表。可观测阵列列表(E…项)创建一个新的可观察数组列表,其中添加了项。

更新Java 9

在Java 9中也有点简单:

List<String> list = List.of("element 1", "element 2", "element 3");