ArrayList和LinkedList有什么区别?我在TheNewBoston观看了一段视频,但我仍感到困惑。请以简短的形式和简单的英语回答。请不要使用任何高级代码。
答案 0 :(得分:4)
ArrayList
是一个由Object[]
支持的列表实现。它支持随机访问和动态调整大小。
LinkedList
是一个列表实现,它使用对head和tail的引用来导航它。它没有随机访问功能,但它也支持动态调整大小。
请记住,两者都支持get(int index)
签名,但两种实现之间的区别在于性能:使用ArrayList
,这是进入索引位置的问题,而使用一个LinkedList
,你 沿着对象链走(从前面或后面,取决于你已经编入索引的内容)。
答案 1 :(得分:0)
对于arrayList,您可以访问每个元素,该元素具有自己的索引值。例如,如果您想要ArrayList中的第三项,则只需执行arrList.get(2)
即可获得此值。 ArrayList使用与数组类似的结构。
对于链接列表,您只能访问第一个元素,但每个元素都可以访问下一个元素。所以,要达到第三个元素,你必须先到第一个,然后是第二个,然后是第三个。想象一下像链子一样的LinkedList。如果您拥有链条的第一部分但是切断了对第二部分的访问权限,那么您将失去其余部分。
它们在内存,处理时间和易用性方面都有其优点和缺点。如果您有任何具体问题或需要澄清,请与我们联系。