给定Element[]类型的数组:

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

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

ArrayList<Element> arrayList = ???;

当前回答

在java中,主要有3种方法将数组转换为arrayList

使用Arrays.asList()方法:将所需的数组传递给此方法,并获取List对象,并将其作为参数传递给ArrayList类的构造函数。List<String>List=Arrays.asList(array);System.out.println(列表);Collections.addAll()方法-在使用此方法之前创建一个新列表,然后使用此方法将数组元素添加到现有列表中。List<String>list1=newArrayList<String>();Collections.addAll(列表1,数组);System.out.println(列表1);迭代方法-创建新列表。循环数组并将每个元素添加到列表中。List<String>list2=newArrayList<String>();for(字符串文本:数组){list2.add(文本);}System.out.println(列表2);

你也可以参考这个文档

其他回答

在java中,主要有3种方法将数组转换为arrayList

使用Arrays.asList()方法:将所需的数组传递给此方法,并获取List对象,并将其作为参数传递给ArrayList类的构造函数。List<String>List=Arrays.asList(array);System.out.println(列表);Collections.addAll()方法-在使用此方法之前创建一个新列表,然后使用此方法将数组元素添加到现有列表中。List<String>list1=newArrayList<String>();Collections.addAll(列表1,数组);System.out.println(列表1);迭代方法-创建新列表。循环数组并将每个元素添加到列表中。List<String>list2=newArrayList<String>();for(字符串文本:数组){list2.add(文本);}System.out.println(列表2);

你也可以参考这个文档

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

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

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

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

如果数组是基元类型,则给定的答案将不起作用。但自从Java 8以来,您可以使用:

int[] array = new int[5];
Arrays.stream(array).boxed().collect(Collectors.toList());

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

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

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

正如大家所说的那样

 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");