gpt4 book ai didi

java - 将数组添加到 ArrayList

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:07 29 4
gpt4 key购买 nike

我可以通过以下两种方式将所有数组元素添加到 ArrayList 中,

首先,

List<String> list1 = new ArrayList<String>();
list1.addAll(Arrays.asList("23,45,56,78".split(",")));
System.out.println(list1);

其次,

List<String> list2 = new ArrayList<String>();
list2.addAll(new ArrayList<String>(Arrays.asList("23,45,56,78".split(","))));
System.out.println(list2);

两者都很好。我的问题是这两者之间有什么区别吗?哪一个可以用于更好的练习 为什么?

最佳答案

这两种方法产生相同的结果,因此在这方面它们是等效的。

然而,第二个是浪费。 Arrays.asList 分配额外的内存 - 它只是将给定的数组包装在 List 中- 类似 API。创建 new ArrayList ,另一方面,虽然是暂时的,但分配了另一个具有相同大小的数组,并将源数组中的所有值复制到 ArrayList 的内部数组中。的实现。

对于小型阵列,您是否会注意到其中的差异是值得怀疑的,但第一种方法肯定更有效。

关于java - 将数组添加到 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21388483/

29 4 0
文章推荐: java - List 如何是 List< 的子类型? super 号>