LinkedList与ArrayList两个集合,都实现了list接口,它们的实现原理,和区别?,
分享于 点击 37487 次 点评:40
LinkedList与ArrayList两个集合,都实现了list接口,它们的实现原理,和区别?,
两者的特性对比:
空间:
链表由于要维护前后的连接,所以占用的空间比较大
操作性能:
增删查操作
增:
ArrayList数组列表:
当空间不足时,重新申请一个双倍空间的数组,然后将原来数组中的内容,拷贝到新的数组中,
然后将新的值添加进去。过程繁琐。
LikedList 链表:
链表根本不会存在空间不足的情况,每当添加一个数据项时,都会创建一个节点,然后设置节点的
前后连接,设置节点的值。过程简单。
删:
ArrayList数组列表:删除中间内容时,需要将后续的内容向前拷贝转移。过程繁琐。
LinkedList链表:删除中间节点时,只需要将前后节点的引用重新赋值即可。过程简单。
查:
ArrayList数组列表:连续的内存空间,直接按照索引值即可查到。过程简单。
LinkedList链表:需要从第一个节点,逐个的往后查询,最终到达目标索引。过程繁琐。
结论:ArrayList方便查询,占用空间小。LinkedList方便添加删除等修改操作,占用空间大。
所以,我们需要根据具体的情况,来选择相应的列表。相关文章
- 暂无相关文章
用户点评