(一)JAVA中集合ArrayList和LinkedList的理解

Lsit接口

    线程不安全的实现类

        1)ArrayList

                ArrayList数组的线性表的特点为:类似数组的形式进行存储,因此它的随机访问速度极快。

                ArrayList数组的线性表的缺点为:不适合于在线性表中间需要频繁的进行插入和删除操作,因为每次插入和删除都需要移动数组。

                ArrayList默认的初始容量为10。

                如果频繁的对ArrayList进行扩容,会降低ArrayList的使用性能,因此当确定添加元素的个数的时候,最好能指定一个ArrayList的可存储的元素的个数,从而提高ArrayList的性能

                在JDK1.8中,可以通过方法ensureCapacityInternal(int minCapacity)设置ArrayList期望的最小容量,可以参考这里

             LinkedList

               LinkedList的链式线性表的特点为:适合在链表中需要频繁进行插入和删除操作。

               LinkedList的链式线性表的缺点为:随机访问速度较慢,查找一个元素需要从头一个一个查找。

               LinkedList是一个双向链表,没有初始化大小,也没有扩容的机制,就是一直在前面或者后面新增就好。

两者的区别

    当随机访问List(get和set操作)多,使用ArrayList(动态数组)

    当对数据进行增加和删除的操作(add和remove操作),使用LinkedList(链表)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值