ArrayList原理

底层结构是一个长度可以动态增长的数组

总:
特点:内存中分配连续空间,只存储数据,不存储地址,位置隐含着地址。
优点:节省内存空间。
索引查询效率高,每一个节点对应序号,直接计算出来。
缺点:插入删除底层移动元素,效率低。
存储元素少导致内存浪费
按照内容查询效率低,逐个判断
分:
1.添加add
底层定义了两个变量
Object类型的数组elementData,代表存储多少个元素
int 类型的size,元素个数
1.判断数组是否满,elementData的length是否等于size满了扩容,新创建数组,长度增长
50%,而后把旧数组Arrays.copyof方法添加到新数组里。
2.添加
3.size++
2.ArrayList类中内部类带泛型Itr实现了Iterator带泛型的
里面有两个方法
里面定义了int变量,一个值0

hasNext 变量0为索引,每次判断索引不等于长度
next 每遍历一个索引++,而后判断。
总:
长度1.7之前是创建就是10个长度,1.8以后创建为0,首次添加元素空间变成10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值