首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果需求不明确,为什么要使用ArrayList?

如果需求不明确,为什么要使用ArrayList?
EN

Stack Overflow用户
提问于 2017-05-31 04:13:17
回答 4查看 470关注 0票数 0

我在www.javatpoint.com上发现了以下问题

如果要使用列表实现,但不确定要实现哪一个,因为需求尚不明确。在这种情况下,您将使用哪个列表实现?

选项: 1. ArrayList 2. LinkedList

正确答案是ArrayList

但是没有解释为什么,请帮助我

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-31 04:36:33

单项

ArrayList :迭代ArrayList比链表快,因为所有元素都存储在连续的内存位置中。但是像Delete这样的执行操作会降低性能,因为再次整个列表顺序会改变(就像在第3位置删除元素,那么接下来的所有元素位置都是currentLocation - 1)。

LinkedList :迭代执行时较慢(与ArrayList相比)。但是,删除和更新操作会变得更快,因为如果在任何位置删除任何元素,只会更改之前和之后的元素位置(而不是整个列表)。

因此,当您没有明确的需求时,迭代就是基本需求(而数组列表提供了最佳性能)。

票数 0
EN

Stack Overflow用户

发布于 2017-05-31 04:19:56

一个可能的原因可能是ArrayList中的元素占用的内存空间比LinkedList中的少,因为LinkedList中的每个元素都包含一个值加上指向下一个元素的指针,而ArrayList中的元素只有值。

票数 0
EN

Stack Overflow用户

发布于 2017-05-31 04:21:36

ArrayList按插入顺序以数组形式存储元素。您可以通过数组中的索引来获得值。

LinkedList将元素存储在相互引用的Node对象中。每个节点引用前一个节点和下一个节点。您可以从双方开始按顺序获得元素。您也可以通过索引获取元素,但它的速度不如ArrayList中的快。在需要顺序访问时使用LinkedList,如队列或堆栈数据结构

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44275512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档