给定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中的流来实现这一点。
List<Element> elements = Arrays.stream(array).collect(Collectors.toList());
其他回答
由于这个问题很古老,所以我很惊讶,还没有人提出最简单的形式:
List<Element> arraylist = Arrays.asList(new Element(1), new Element(2), new Element(3));
从Java5开始,Arrays.asList()采用varargs参数,不必显式构造数组。
可以使用不同的方法进行转换
List<Element>List=Arrays.asList(array);List<Element>List=newArrayList();Collections.addAll(列表,数组);Arraylist列表=新Arraylist();list.addAll(Arrays.asList(array));
有关详细信息,请参阅http://javarevisited.blogspot.in/2011/06/converting-array-to-arraylist-in-java.html
使用Stream(从java 16开始)
new ArrayList<>(Arrays.stream(array).toList());
您可以使用Cactos创建ArrayList(我是开发人员之一):
List<String> names = new StickyList<>(
"Scott Fitzgerald", "Fyodor Dostoyevsky"
);
不能保证该对象实际上是ArrayList类。如果您需要该担保,请执行以下操作:
ArrayList<String> list = new ArrayList<>(
new StickyList<>(
"Scott Fitzgerald", "Fyodor Dostoyevsky"
)
);
正如大家所说的那样
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");