ArrayList和LinkedList的区别

一、ArrayList:底层是一个数组,擅长数据的查找(访问),是一个可改变的数组,当有更多的元素加到ArrayList中时,其大小会自动增长,内部的元素可以直接通过get和set方法访问,因为ArrayList本质上就是一个数组。。

二、LinkedList:底层链表,擅长数据的修改(包括数据添加和删除),在添加和删除元素时比ArrayList有更好的性能,但在get和set方面低于ArrayList,前提是,对比的数据量很大或者是操作很频繁的情况下;反之,对比将失去意义。

三、区别

       (1)ArrayList采用数组形式来存储对象的,这种方式将对象放在连续的位置中,所以最大的缺点是插入和删除时很麻烦;

       (2)LinkedList采用的是将对象存放在独立的空间中,并且还在每个空间中保存了下一个链接的索引,但它的缺点是查找很 麻烦,要从第一个索引开始;

       (3)ArrayList实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构;

       (4)对于add和remove来说,LinkedList比ArrayList有优势,因为ArrayList要移动数据。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值