java集合类源码详解-ArrayList(7)-基于JDK8

现在我们接着看ArrayList的set()方法

下面是测试代码

点击下一步,rangeCheck(index),之前的博客见了很多次了,就是判断这个索引是否比当前数据的实际数据数量小

大于等于都是不可以的,现在我们只有0号,1号索引有数据,size=2。所以index不能大于等于2,。

说白了set()这个函数是在已经有数据的地方替换,不能在没数据的地方去插数据。

这个函数的执行步骤就是把这个索引位的数据通过elementData()函数,返回这个索引的数据,用一个变量oldValue保存

然后通过随机访问的方式,在这个索引位用新数据替换。

最终返回旧数据。

接下来再看看clear()函数。

这个函数就不写测试了,因为这个函数简直不要太简单

因为要改变数组 里面的数据的实际数量,所以modcount肯定会自加

然后通过一个for循环把这个数组里面的所有数据对应的索引位的数组全部赋值为null

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值