ArrayList的学习

ArrayList的学习

实现多个接口,且继承一个类

  1. ArrayList继承AbstractList类
  2. 实现了List、Cloneable、RandomAccess、Serializable接口

优点

  1. 容量不固定,想放多少放多少(当然有最大阈值,但一般达不到)
  2. 有序的(元素输出顺序与输入顺序一致)
  3. 元素可以为 null
  4. 效率高
  5. size(), isEmpty(), get(), set() iterator(), ListIterator() 方法的时间复杂度都是 O(1)
    add() 添加操作的时间复杂度平均为 O(n)
  6. 其他所有操作的时间复杂度几乎都是 O(n)
  7. 占用空间更小
  8. 对比 LinkedList,不用占用额外空间维护链表结构

缺点

  1. 底层为数组,所以它增删的效率比较低,适合尾部的增删。
  2. 相比于hashmap,它的查找效率比较低。

Array和ArrayList的区别

  1. Array可以包含基本类型和对象类型,而ArrayList只能包含对象类型。
  2. Array大小是固定的,而ArrayList大小不是固定的。
  3. ArrayList提供了多种方法,比如add(), remove(int index)等等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值