java LinkedList是一个不直观的解决方案,因为大多数时候我不需要知道集合中元素的物理位置?
最近,一位同事向我展示了他用LinkedList编写的一些代码,我无法理解
a->;b->;c->;d->;e->;f
如果我想从LinkedList中得到d,我不是必须遍历列表,从a开始迭代到d,还是从f开始迭代到d
为什么我会关心d在集合中的物理存储位置强>
你可以在下面搜索框中键入要查询的问题!
最近,一位同事向我展示了他用LinkedList编写的一些代码,我无法理解
a->;b->;c->;d->;e->;f
如果我想从LinkedList中得到d,我不是必须遍历列表,从a开始迭代到d,还是从f开始迭代到d
为什么我会关心d在集合中的物理存储位置强>
# 1 楼答案
在添加和删除元素方面,链表通常比数组具有更好的性能特征
是的,如果您在对排序数据进行操作,您通常会关心存储在其中的顺序元素
# 2 楼答案
并非每个链表都是双向链接的,但通常是这样。这种类型的集合具有正向、正向和反向的顺序访问功能
优点是:
# 3 楼答案
列表不是关于“物理位置”(不管你是什么意思),列表是一种特定的数据结构,它可以增长和收缩,并在各种操作中提供相当的复杂性
# 4 楼答案
不管您使用的是LinkedList还是ArrayList,您可能都不在乎。LinkedList的优点是能够轻松地将元素添加到列表的开头,这是ArrayList无法做到的
# 5 楼答案
我认为正确的问题不是在哪里,而是它如何存储您的收藏。根据这一点,您添加、搜索、删除和保持收藏一致的时间是不同的。因此,当您选择类型集合时,您应该记住最频繁的操作是什么,并为您的情况选择最佳解决方案
# 6 楼答案
您不必显式遍历链表,因为} 和^{} 。它们仍将遍历列表,但会隐式执行
LinkedList
提供了^{您将关心集合如何对项目进行排序,因为这会影响集合操作的效率,尤其是插入、获取和;移动集合中项目的任何排序也会影响使用数据结构的算法的计时