Java中ArrayList和LinkedList的区别

Java中ArrayList和LinkedList的区别
1.相同点
都实现了list接口和collection
2.不同点
①ArrayList底层实现是数组,LinkedList底层实现是链表
②ArrayList的查询速度较快,删除和插入时对ArrayList末尾操作速度和LinkedList区别不大,对其他部位操作效率要低于LinkedList。LinkedList删除和插入效率高于ArrayList
3.底层分析
ArrayList:
由于ArrayList的底层是数组,它得特性是可以通过下标实现快速查询。但是在删除和插入操作时,对于尾部的其他部位,删除和插入后都会影响其他元素整体的前移或后移,相对来说比较消耗性能。对于尾部,无论删除还是插入操作,其余的数据都不会移动,所以说性能消耗不大
LinkedList:
LinkedList的底层实现是链表结构,由相互引用的节点组成,不支持下标,只能对总数进行遍历然后取下标获取数据,在效率上肯定要比ArrayList低。对于删除和插入操作只需要改变链表中对应的两个节点之间的引用关系即可,不需要对所有数据都进行改变,所以对于删除和插入操作的效率要比ArrayList的效率高

小弟不才,有所错误请各位大佬多多指教
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值