给定Element[]类型的数组:
Element[] array = {new Element(1), new Element(2), new Element(3)};
如何将此数组转换为ArrayList<Element>类型的对象?
ArrayList<Element> arrayList = ???;
给定Element[]类型的数组:
Element[] array = {new Element(1), new Element(2), new Element(3)};
如何将此数组转换为ArrayList<Element>类型的对象?
ArrayList<Element> arrayList = ???;
当前回答
对于正常大小的数组,上面的答案是正确的。如果您有巨大的数组大小并使用java8,您可以使用流来实现。
Element[] array = {new Element(1), new Element(2), new Element(3)};
List<Element> list = Arrays.stream(array).collect(Collectors.toList());
其他回答
使用Stream(从java 16开始)
new ArrayList<>(Arrays.stream(array).toList());
自从Java 8以来,有一种更简单的转换方法:
import java.util.List;
import static java.util.stream.Collectors.toList;
public static <T> List<T> fromArray(T[] array) {
return Arrays.stream(array).collect(toList());
}
正如大家所说的那样
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");
最简单的方法是添加以下代码。经过测试。
String[] Array1={"one","two","three"};
ArrayList<String> s1= new ArrayList<String>(Arrays.asList(Array1));
嗨,你可以使用这行代码,这是最简单的方法
new ArrayList<>(Arrays.asList(myArray));
或者如果您使用Java 9,也可以使用以下方法:
List<String> list = List.of("Hello", "Java");
List<Integer> list = List.of(1, 2, 3);