java创建一个可自由增长空数组_java集合框架(四)-ArrayList

本文详细探讨了Java中的ArrayList实现,强调其基于数组的数据结构导致查询速度快但增删慢的特点。讨论了ArrayList的默认初始容量(10)和扩容机制,即通常是原容量的1.5倍。在JDK8中,即使使用无参构造器,ArrayList也不会立即分配空间,直到添加元素时才会设置容量。建议在需要大容量ArrayList时,使用带参数的构造器预设容量以避免频繁扩容。
摘要由CSDN通过智能技术生成

6c16b07554267bd28ab14adcba6c10d3.png

一、List接口的实现类ArrayList(数据结构:数组结构)

  • 数据结构:数组结构
  • 有序、允许空元素、允许重复元素
  • 查询快、增删慢
  • 不指定容量,则初始容量为10
  • 扩容机制:一般是旧容量的1.5倍
  • 不同步

java.util.ArrayList集合的数据结构是数组结构(API中可知道:ArrayList是List接口的大小可变的数组的实现),允许空元素。

5daddccc110c8268e085d8493463e602.png

元素查询快、增删慢,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。

每个ArrayList实例都有一个容量,容量是用于存储列表中的元素的数组的大小。它总是至少与列表大小一样大。 当元素添加到ArrayList时,其容量会自动增长

请注意,此实现不同步

ArrayList源码:底层实现是数组结构

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值