ArrayList和LinkedList的区别 优点 缺点 和应用场景

ArrayList 和 LinkedList

相同点

  1. 都是List接口的容器类
  2. 都用于存储一系列对象的引用
  3. 都可以对元素进行CRUD

不同点

名称ArrayListLinkdeList
结构动态数组链表
应用查询添加
get/set慢(移动指针)
add/remove慢(移动数据)

缺点

ArrayList 缺点

  1. ArrayList: 在内部构成是数组形式 增加一项内容时 有可能导致数组重新分配
    但对于 LinkedList: 这个开销是固定的,因为是在内存中分配一个entry然后通过指针指向
  2. ArrayList: 如果添加或者删除一个内容时,列表中的全部对象都要进行移动.
    但对于 LinkedList:添加或者删除一个元素时,开销是固定的
  3. 在list列表的结尾处预留了一定的容量空间
    因为本身的存储结构导致的

LinkedList缺点

不支持高效的随机访问 因为linkedList从开头开始遍历 , 每次随机访问都会重新遍历

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值