黑马程序员技术交流社区

标题: ArrayList与LinkedList底层实现有什么不同? [打印本页]

作者: 任我行    时间: 2014-12-16 09:26
标题: ArrayList与LinkedList底层实现有什么不同?
ArrayList与LinkedList底层实现有什么不同?
作者: zhaozhao    时间: 2014-12-16 11:57
ArrayList是用数组实现的,数组在新建的时候,在内存中分配的空间是连续的,即:数组中的每个元素,在内存中是连续的。而对于LinkedList的底层实现是链表,而对链表而言,每个元素除了内容之外,还包括指向前一个元素或后一个元素的指针,指针中存储的是前一个元素或后一个元素的地址。所以对链表而言,内存的地址可以是不连续的!
作者: I空空    时间: 2014-12-16 22:47
ArrayList底层是采用数组方式实现的,详情可以参考源代码。LinkedList底层是采用双向链表实现的。所以ArrayList适合查找操作,LinkedeList适合增删操作






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2