随机访问和快速访问


我们都知道ArrayList接口实现了一个RandomAccess接口,可以快速随机访问,而LinkedList只能顺序访问,那么这是为什么呢?

 

ArrayList底层的数据结构是Object[]存储,数组在内存分配里,是一段连续的内存空间,譬如分配的内存地址是002,003,004,005四个地址,那么我们如果要随机访问角标为3的数据,只需要访问002+3=005的数据就行了,这就是快速随机访问。

而 LinkedList是链表结构,在内存里是不连续的,相邻的数据之间用指针指向即可。如001<->003<->004<->005.那么此时,我们要访问角标为3的数据,就只能从第一个数据开始依次迭代,找到第4个数据,这就是顺序访问


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM