如果理解Java和C#等中ArrayList可以通过下标访问

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:40:26
ArrayList本质上就是一个链表。而我在数据结构清楚的学过链表是不能直接通过下标访问元素的,必须对整个链表进行遍历才能访问元素。
那为什么ArrayList可以通过下标访问元素呢?

线性集合有两种存储方式 ,一种是顺序存储的 ,而另一种是链表存储 。

顺序存储的因为他们每个元素在内存中都是连续的 所以可以通过下标访问。下表访问其实就是给当前个元素的内存地址加上一个或多个单位(存储一个元素的内存)的内存空间,

ArrayList是实现的List接口,但不是基于链表结构实现的,而是基于数组,
LinkedList也是实现的List接口,它才是基于链表结构实现的。

只能说。。。你混为一谈了。
数据结构是数据结构,他的结构而已,我可以用方法实现啊。= =!
就算是链表,我也可以写个方法实现的。为什么不能用下标。