您的位置:首页 > 其它

ArrayList 的实现原理

2016-07-16 07:58 267 查看
ArrayList  是List接口的可变数组的实现。实现了所有可选列表的操作,并包括null值在内的所有元素。此类还提供了一些方法来操作内部用来存储列表的数组大小。
ArrayList 的是实现:

    对于ArrayList而言,他实现List接口、底层使用数组保存所有元素,其操作基本上是对数组的操作。

 

 

LinkedList  实现了List接口,但是它执行和插入操作时比ArrayList更加高效,因为它是基于链表,基于链表也决定了它在随机访问方面要比ArrayList逊色一些。

  除此之外,LinkedLis还提供一些可以使其作为栈、队列、双端队列的方法,这些方法中彼此之间只是名称的区别,以使得这些名字在等特定的上下文中显得更加合适。、

 

 

 

ArrayList(访问快速,修改慢)的底层使用的是数组存元素,数组的大小说是自增的,(插入元素,由于不知道数组容量,数组要复制到一个新的数组中,)。

LinkedList (改快查慢)的底层是链表,通过节点直接将元素连接起来,每个节点包含前后节点的引用和节点存储的值,

当修改时,插入一个新的元素,只需要修改前后节点的引用关系即可,

但访问是,要遍历节点来定位,所以访问速度慢。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: